我有两个模型:Category和Subcategory,相关如下:
class Category
has_many :subcategories
has_many :groups
end
class Subcategory
belongs_to :category
has_many :groups
end
子类别组必须从类别继承。
我是这样做的:
class Category
has_many :subcategories
has_many :groups
after_save :pass_to_subcategories
private
def pass_to_subcategories
subcategories.map do |sc|
sc.groups = groups
end
end
end
但在回调组中是空的。显然,我做错了。 我怎么能正确地做到这一点?感谢。
答案 0 :(得分:0)
您可以告诉子类别在类别中查找:
class Subcategory
belongs_to :category
has_many :groups, through: :category
end
至于你的代码,我认为你只需要在子类别上调用save:
def pass_to_subcategories
subcategories.map do |sc|
sc.groups = groups
sc.save
end
end