1

所以假设我有 Person 和 Child 模型:

class Person < ActiveRecord::Base
    has_many :children
    accepts_nested_attributes_for :children
end

class Child < ActiveRecord::Base
    belongs_to :parent, :class_name => "Person"
    validates_presence_of :name
end

现在,当我使用嵌套表单并保存带有 2 个新子代的 Person 时,如果其中一个子代验证失败(即它会回滚),则整个事务将失败。

如何忽略此验证失败并仅保存有效的 1 个人和 1 个孩子?我不希望整个交易失败,因为 1 个孩子未能通过验证。我只是想保存有效的记录...

非常感谢帮助,谢谢!

PS 使用:reject_ifif not an option for me 因为我需要能够访问无效记录,直到我将其保存到数据库中(此时我想拒绝那些仍然无效的记录)

4

1 回答 1

0

您可以在没有“accepts_nested_attributes_for :children”的情况下解决它,并将单个对象单独保存在控制器中......

于 2010-10-19T13:32:23.667 回答