Supposons que j'ai un modèle: puis comment puis-je obtenir le nom de la classe modèle via la variable 'messages', peut-être une méthode appelée modèle_class_name: MERCI :) P> P>
met les postes.Model_class_name # => POST P>
3 Réponses :
La réponse la plus simple et la plus directe à votre question est la suivante: équivalente à l'écriture: p> Vous pouvez le faire Parce que votre requête reviendra un résultat énumérable. (ActiveRecord :: La relation implémente l'interface énumérable de Ruby). P> - Scott P> P>
Hey Croplio, 4 mois ont passé. Cette réponse a-t-elle résolu votre problème?
Si message code> ne renvoie pas de lignes, alors
post.first code> sera nul et cela ne fonctionnera pas.
L'attribut #klass de activeRecord :: relation retourne la classe modèle sur lequel la relation a été construite: pour obtenir le nom de la classe: p> Ceci est connu pour fonctionner avec ces versions: p>
Pour une solution qui fonctionne, même s'il n'y a pas d'éléments connexes:
class Post < ActiveRecord::Base has_many :comments end Post.reflect_on_association(:comments).klass => Comment