我有一些模型,它是自我参照的。它包含somethings, 可以是child或parent, 或两者兼而有之。有可能做这样的事情吗?
class Class < ActiveRecord::Base
belongs_to :parent, class_name: 'Class', foreign_key: :parent_id
has_many :children, class_name: 'Class', foreign_key: :parent_id
has_many :somethings, foreign_key: :something_id
has_many :somethings, through: :children, foreign_key: :something_id
end
我想要做的是调用类似的东西parent.somethings并获取它们的完整列表。现在我得到的只是stack level too deep错误。没有最后一行 ( has_many :somethings, through: :children, foreign_key: :something_id) 我只能得到child.somethings它并且它工作得很好。
所以基本上我想得到列表somethings,其中包括somethings每个child特定的parent。
提前致谢!
PS我确实需要ActiveRecord::Associations::CollectionProxy,所以创建收集方法somethings,我认为是不可能的。
PPS 对不起,如果我的英语不太好 :p