validates_uniqueness_of in zerstörten verschachtelten Modellschienen
Ich habe ein Projektmodell, das verschachtelte Attribute für Task akzeptiert.
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
Die Überprüfung der Eindeutigkeit im Task-Modell führt zu Problemen beim Aktualisieren von Project.
Beim Bearbeiten eines Projekts lösche ich eine Aufgabe T1 und füge dann eine neue Aufgabe mit dem gleichen Namen T1 hinzu. Die Überprüfung der Eindeutigkeit schränkt das Speichern des Projekts ein.
params Hash sieht so aus wie
task_attributes => { {"id" =>
"1","name" => "T1", "_destroy" =>
"1"},{"name" => "T1"}}
Validation on task wird ausgeführt, bevor die alte Task zerstört wird. Daher schlägt die Validierung fehl. Gibt es eine Idee, wie die Validierung so erfolgen soll, dass die Aufgabe nicht als zerstört betrachtet wird?