J'ai un formulaire avec plusieurs champs avec le champ enfant qui peut être ajouter autant de fois que veut l'utilisateur via un lien :
#vue personne.rhtml
fichier enfant.rhtml utilisé par le render :partial
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7 <% form_tag :action => "ajout" do %> <p id="nom">Nom : <%=text_field("personne", "nom") %></p> <p id="prenom">Prenom : <%=text_field("personne", "prenom") %></p> <%= render :partial => "enfant"%> <p id="unautreenfant"><%= link_to_remote("un autre enfant...", :url => {:action => "addEnfant"})%></p> <%= submit_tag("Enregistrer") %> <% end %>
controller
Code : Sélectionner tout - Visualiser dans une fenêtre à part <p id="enfant">Enfant : <%=text_field("personne", "enfant") %></p>
fichier addEnfant.rjs
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 def addEnfant end
Jusque là, mon formulaire s'affiche parfaitement.
Code : Sélectionner tout - Visualiser dans une fenêtre à part page.insert_html :before, 'unautreenfant', :partial => 'enfant'
Le problème vient au submit. Impossible de récupérer toutes les valeurs des champs enfants.
Pour moi, le problème vient de la non différentiation des id de ces champs. Ils ont tous personne_enfant comme id.
Donc dans mon params je n'obtient qu'une entrée dans mon tableau personne avec la valeur du premier champ enfant. Les autres passent à la trappe.
Comment puis je distinguer ces id ? Par numérotation ? Je ne trouve pas.
Merci de votre aide
Partager