在 Ruby on Rails 中,如果你声明 accepts_nested_attributes_for
在您的模型中,autosave
对于子关联设置为 true。这是必要的吗?
根据我的理解,Rails 已经验证了所有新的和改变的 child ,而无需声明 autosave: true
.这似乎涵盖了您接受子关联的嵌套属性的所有情况。但是,与 autosave: true
现在每次保存父级时都会验证子级,即使 child 没有改变 .
这可能会产生重大的意外后果,尤其是当您修改子模型时导致大量记录无效。
最佳答案
尝试设置 validate: false
在协会上。你可以从http://api.rubyonrails.org/classes/ActiveRecord/AutosaveAssociation.html看到激活 autosave
(在我们的例子中通过 accepts_nested_attributes_for
)总是验证记录,除非你使用 validate: false
关于ruby-on-rails-3 - Rails - 为什么 `accepts_nested_attributes_for` 将 `autosave` 设置为 true,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18703146/