したがって、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人の子を保存するにはどうすればよいですか?1人の子が検証に失敗したため、トランザクション全体が失敗することは望ましくありません。有効なレコードを保存したいだけです...
感謝します、ありがとう!
PS:reject_if
は、データベースに保存するまで無効なレコードにアクセスできる必要があるため、オプションではない場合に使用します(その時点で、無効なレコードを拒否します)