Pour les colonnes normales, vous pouvez y accéder via la méthode de classe columns
. Toutefois, les associations peuvent être nommées quelque chose de très différent si l'option foreign_key
est définie dans la méthode de relation. Par exemple, étant donnéComment obtenir des associations activerecord par réflexion
class Post
has_many :comments, :foreign_key => :message_id # this is a contrived example
end
si je ne Post.column_names
que je pouvais obtenir à message_id
, mais est-il possible d'obtenir comments
?
Exactement ce que je cherchais, merci :) –
Pour les gars, les réflexions renvoie juste un hachage, pas un HashWithIndifferentAccess. Ainsi, les clés du hachage .reflections seront soit un symbole, soit une chaîne, selon ce qu'il dit dans la définition du modèle. Cela m'a juste fait trébucher en pensant que ce serait ou. – taelor
Comme MCB a dit dans sa réponse, dans Rails 4.2, vous dites 'Post.reflections [" comments "]' à la place –