Appeler une classe à partir d'une chaine de caractère en ruby
Par rivsc le mercredi 15 février 2012, 11:12 - Lien permanent
Vous avez par exemple une classe Product, vous voudriez l'appeler à partir d'une chaine. Voici le bout de code qui vous permettra de le faire :
"product".classify.constantize
"admin_product".classify.constantize
Du coup vous pouvez faire :
"product".classify.constantize.where(:name => "Produit 1").first
Ca peut-être bien pratique. Bon code.
Commentaires
Tu as aussi:
Kernel::const_get(class_name).<methods>
Ouai merci, je ne connaissais pas. Bon j'ai préparé l'article sur les références des objets ruby dans les méthodes.