J'ai ce problème:problème Rails accepts_nested_attributes_for
Mon application Web a une forme où les utilisateurs peuvent personnaliser leur profil. Dans chaque profil peut être spécifié de nombreuses compétences et je veux permettre aux utilisateurs d'appuyer sur un bouton (ajouter une nouvelle compétence) afin de spécifier autant de compétences qu'ils le souhaitent. Donc, c'est le code du contrôleur:
accepts_nested_attributes_for :skills, :allow_destroy=>true, :reject_if => lambda {|a| a[:name].blank?}
C'est la forme (seulement la partie avec la compétence d'attribut imbriqué):
<%= f.fields_for :skills do |builder|%>
<div class="field">
<%= builder.label :skill %>
<%= builder.text_field :name%>
<%= builder.hidden_field :_destroy %>
<%= link_to 'remove', '#', :onclick=>'removeField()'%>
</div>
<%end%>
Ce travail de forme parfaitement et montre chaque compétence de l'utilisateur, il Le problème maintenant, c'est que je veux ajouter un lien pour "ajouter une nouvelle compétence" donc une fonction javascript qui change le formulaire et ajouter un nouveau champ de saisie de compétences, je n'ai vraiment aucune idée de la façon d'agir, principalement parce que les attributs imbriqués ont un identifiant et un nom spécifiques sous la forme que je ne comprends pas:
<input id="profile_skills_attributes_0_name" name="profile[skills_attributes][0][name]" size="30" type="text" value="Mathematicansszz" />
Il ajoute également un autre champ caché avec l'identifiant de la compétence (impossible de prédire si la compétence est pas créée) rendent impossible la création de nouvelles compétences partir d'une page HTML statique?
<input id="profile_skills_attributes_0_id" name="profile[skills_attributes][0][id]" type="hidden" value="3" />
Une idée ou une solution de contournement? Merci
Merci beaucoup ... Je l'ai fait à partir de votre suggestion – Joe