【发布时间】:2013-12-17 16:55:11
【问题描述】:
我有一个Parent 模型,它根据其子项的所有标签的聚合维护一组Tags:
model Parent
before_save :agregate_tags
has_many :children
has_many :tags
def agregate_tags
self.tags = self.children.flat_map(&:tags).uniq
end
end
子模型:
class Child
belongs_to :parent, autosave: true
has_many :tags
end
当我保存 Child 时,父级没有保存。为什么会这样?
当我保存child 时,这里没有错误,也没有与Parent 相关的数据库活动。似乎没有尝试保存它。
如果我在 Child 上创建 before_save 回调并将 parent 保存在那里,它会成功保存而不会出错。
【问题讨论】:
标签: ruby-on-rails ruby-on-rails-3 activerecord associations belongs-to