假设我有人和儿童模特:
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个孩子验证失败。我只想保存有效记录......
非常感谢,谢谢!
P.S。使用:reject_if
如果不是我的选项,因为我需要能够访问无效记录,直到我将其保存到数据库中(此时我想拒绝那些仍然无效的记录)
答案 0 :(得分:0)
你可以在没有“accepts_nested_attributes_for:children”的情况下解决它,并单独保存控制器中的单个对象......