rails fields_for wird nach dem Validierungsfehler im verschachtelten Formular nicht gerendert

8

Ich habe ein verschachteltes Formular-Problem. Ich implementierte die verschachtelte Formularlösung aus den Railscasts 196 & amp; 197. Es funktioniert, wenn ich keine Validierungsfehler habe.

So rendert das Formular perfekt, wenn es geladen wird, einschließlich der verschachtelten Felder (in den fields_for part).

Aber das Formular hat Validierungen. Wenn eine Validierung fehlschlägt, gibt der Controller Folgendes aus: neu. Dann macht das Formular die verknüpften Modellfelder in Ordnung, aber die verschachtelten Felder werden nicht mehr gerendert. Gibt es dafür eine Lösung?

der Controller

%Vor%

Teil der Ansicht:

%Vor%     
Michael Torfs 31.08.2010, 17:23
quelle

3 Antworten

12

Gibt es einen Fehler?

Ich schätze, Ihr Problem ist, dass Sie in Ihrer new -Aktion @property.images.build ausführen, was nicht in Ihrer Bearbeitungsaktion ist. Wenn die Validierung fehlschlägt, wird Ihre neue Aktion gerendert, die neue Aktion wird jedoch nicht ausgeführt. Du könntest versuchen, @property.images.build in die else-Klausel deiner create -Aktion wie:

zu setzen %Vor%

Nicht der sauberste Weg, um es zu tun, aber dies wird helfen, herauszufinden, ob das Ihr Problem ist.

    
theIV 31.08.2010, 17:27
quelle
1

Ich hatte auch das gleiche Problem mit diesem Verhalten. Da ich Ihr Modell nicht sehen kann, habe ich folgende Vermutung: reject_if = & gt; : all_blank oder irgendein anderes Lambda. Dies scheint der Schuldige zu sein, obwohl ich keine Lösung habe. Ich würde dies als Kommentar anstatt als Antwort hinterlassen, aber anscheinend habe ich nicht genug Ansehen, um so etwas zu tun.

    
efoo 10.01.2011 17:44
quelle
1

in diesem Moment, die einzige Möglichkeit zu beheben, dass es nur die create-Methode überschrieben wurde.

%Vor%

hoffe es hilft!

    
workdreamer 22.08.2011 10:04
quelle

Tags und Links