所以假设我有 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_if
if not an option for me 因为我需要能够访问无效记录,直到我将其保存到数据库中(此时我想拒绝那些仍然无效的记录)