我在Rails4应用程序中定义了以下关系:
class Parent < ActiveRecord::Base
has_many :children, autosave: true, dependent: destroy
accepts_nested_attributes_for :children, allow_destroy: true
end
class Child < ActiveRecord::Base
belongs_to :parent, autosave: true
end
在ParentsController#update
中,我调用@parent.update_attributes(parent_params)
,并且根本不会保存通过children_attributes
哈希传递给子对象的更改。
我试过调用@parent.save
,但仍然没有任何反应。当我最终调用@parent.children.map(&:save)
时,最后子对象会更新。
我想避免在每个子对象上调用save。这不是autosave: true
应该做的吗?我在这里错过了什么吗?