Rails verschachtelt mit_Option: wenn bei der Validierung verwendet
validate :updatable? # First validation there is
with_options :if => Proc.new { |object| object.errors.empty? } do |updatable|
updatable.with_options :if => "self.current_step == basic" do |step|
validates .... bla-bla bla
Bevor also irgendwelche Validierungen vorgenommen werden, muss derAktualisierbar Das Unterprogramm wird aufgerufen und füllt daserrors[:base]
Array mit entsprechenden Fehlern, was bedeutet, dass das Objekt nicht aktualisierbar ist. Und ich wollte, dass der Rest der Überprüfungen übersprungen wird, wenn Fehler in dieser Unterroutine gefunden werden, das oben genannte Beispiel jedochNICHT Arbeiten - es führt alle Überprüfungen durch.
Aber wenn ich mich ändere:if => "self.current_step == basic"
zu:if => "self.errors.empty? && self.current_step == basic"
Das wirkt wie ein Zauber.
Was mache ich falsch? Beispiele zeigen, dass verschachteltwith_option
sollte arbeiten.
Kann mir jemand helfen ? Danke im Voraus.