對於普通列,可以通過columns
類方法獲取。但是,如果在關係方法中設置了foreign_key
選項,則關聯可能會有很大的不同。例如,給定如何通過反射獲得主動記錄關聯
class Post
has_many :comments, :foreign_key => :message_id # this is a contrived example
end
如果我沒有Post.column_names
我可以在message_id
得到的,但有什麼辦法讓comments
?
正是我在找的東西,謝謝:) – 2010-11-14 06:08:14
FYI傢伙,反射只是返回一個散列,而不是一個HashWithIndifferentAccess。所以.reflections哈希鍵將是一個符號或一個字符串,取決於它在模型定義中所說的內容。這只是絆住了我,認爲它會是或者。 – taelor 2012-04-02 17:14:58
正如MCB在他的回答中所說的,在Rails 4.2中,你會說'Post.reflections [「comments」]'而不是 – 2015-04-10 10:28:19