我有一个型号名称Product,它允许递归关系,其中一个产品可以为其他产品提供父级。这就是它在我的模型中的样子:
belongs_to :parent, :class_name => "Product", :foreign_key => "parent_id"
has_many :children, :class_name => "Product", :foreign_key => "parent_id"
我这样做的主要原因是我可以快速提取属于父产品的product_features并允许子产品继承这些功能。我想知道,有一种简单的方法让我从子对象中获取这些功能吗?
喜欢:child.parent.product_features
我试过了:
has_many :product_features, :through => :parent
这只会引发错误。
我想我可以创建一个范围来做这个,但我只是想知道是否有一个方法已经可用。