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?

Antworten auf die Frage(10)

Ihre Antwort auf die Frage