Task のネストされた属性を受け入れる Project モデルがあります。
class Project < ActiveRecord::Base
has_many :tasks
accepts_nested_attributes_for :tasks, :allow_destroy => :true
end
class Task < ActiveRecord::Base
validates_uniqueness_of :name end
タスク モデルの一意性検証は、プロジェクトの更新中に問題を引き起こします。
プロジェクトの編集で、タスク T1 を削除してから、同じ名前の T1 で新しいタスクを追加すると、一意性の検証によりプロジェクトの保存が制限されます。
params ハッシュは次のようになります
task_attributes => { {"id" =>
"1","name" => "T1", "_destroy" =>
"1"},{"name" => "T1"}}
タスクの検証は、古いタスクを破棄する前に行われます。したがって、検証は失敗します。タスクが破棄されたと見なされないように検証する方法はありますか?