Comment puis-je convertir une chaîne de caractères à une méthode de classe?

C'est la façon de convertir une chaîne de caractères à une classe dans les Rails/Ruby:

p = "Post"
Kernel.const_get(p)
eval(p)
p.constantize

Mais si je suis de la récupération d'une méthode à partir d'un tableau/active record objet comme:

Post.description

mais il pourrait être

Post.anything

où tout est une chaîne de caractères comme anything = "description".

Cela est utile, car j'ai envie de revoir une très grande classe et de réduire les lignes de code et de la répétition. Comment puis-je le faire fonctionner?

  • vous réalisez que vous avez seulement besoin de l'un de {const_get, eval, constantize}, droit?
  • oui. bien sûr, je ne. comme je viens de tester les 3.
InformationsquelleAutor kgpdeveloper | 2010-05-26