Rails nested_form fügt Elemente zu Tabellenzeilen hinzu

8

Mein Ziel ist es, das nested_form-Juwel zu verwenden: Ссылка   Aber anstatt jedes Mal, wenn Sie ein Objekt hinzufügen, nur einen neuen Satz von Beschriftungen und Feldern zu erstellen, wollte ich eine Zeile in eine vorhandene Tabelle einfügen.

%Vor%

Die Schaltfläche .link_to_add erstellt nur eine Reihe von Feldern in der ersten Zeile, zuerst td.

%Vor%

Ich habe versucht, die .link_to_add an einigen Stellen zu platzieren, aber sie fügt sie nicht in eine eigene Zeile ein.

Gibt es eine einfache Möglichkeit, jedes Mal eine Reihe von Eingabefeldern hinzuzufügen?

    
kevinweaver 19.09.2012, 20:31
quelle

2 Antworten

17

Das hat mir sehr geholfen: Ссылка

  

Standardmäßig fügt fields_for in% nested_form_for <div class="fields"> wrapper um jedes verschachtelte Objekt hinzu. Wenn Sie jedoch verschachtelte Felder in einer Tabelle darstellen müssen, können Sie den Standard-Wrapper mit der Option :wrapper => false deaktivieren und den benutzerdefinierten verwenden:

%Vor%      

Hinweis: Sie müssen ein ID-Feld angeben. Andernfalls fügt fields_for es nach </tr> ein.

     

Außerdem müssen Sie das Standardverhalten beim Einfügen neuer Unterformulare in Ihr Formular mit javascript:

überschreiben %Vor%      

Eine ähnliche Technik kann für Listen verwendet werden, um die Kompatibilität mit einer sortierbaren jQuery UI-Liste zu gewährleisten.

     

Wenn Sie simple_form verwenden, fügen Sie Folgendes hinzu: wrapper = & gt; Falsche Option für den umgebenden simple_nested_form_for-Aufruf, andernfalls wird sie überschrieben durch: wrapper = & gt; Null Standard.

    
Gedean Dias 28.09.2012, 00:59
quelle
0

Ich habe am Ende meine link_to_add als letzte Zeile der Tabelle eingefügt und diese zu meiner application.js hinzugefügt (meistens aus dem Beispiel im Wiki)

%Vor%

Mein Formular sieht so aus:

%Vor%     
bagman 20.02.2013 17:55
quelle