我有一个项目模型,它接受任务的嵌套属性。
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,唯一性验证限制了项目的保存。
参数哈希看起来像
task_attributes => { {"id" =>
"1","name" => "T1", "_destroy" =>
"1"},{"name" => "T1"}}
在销毁旧任务之前完成任务验证。因此验证失败。知道如何验证它不认为任务被破坏吗?