Est-ce que quelqu'un sait s'il existe une solution simple pour ajouter dynamiquement de nouvelles options à un menu de sélection dans un formulaire dans Rails? Le railcast de formes dynamiques (http://railscasts.com/episodes/403-dynamic-forms) est axé sur le filtrage dynamique d'un second menu de sélection basé sur la sélection effectuée dans un autre menu de sélection qui n'est pas ce que je recherche. Je cherche une solution où le formulaire contient seulement un menu de sélection et de nouvelles options peuvent être ajoutées sur le formulaire. Je pense que la solution peut être similaire à celle abordée dans le railcast de modèle imbriqué (http://railscasts.com/episodes/196-nested-model-form-revised) mais dans cet exemple, le formulaire doit être soumis avant que les valeurs ne soient mises à jour dans la base de données. Je voudrais que l'utilisateur puisse ajouter une nouvelle option de menu, puis continuer avec le reste du formulaire avant de le soumettre.Comment ajouter dynamiquement une option de menu select dans Rails
À ce stade, je voudrais également éviter d'utiliser la solution de mise en autocomplétion jquery de railscast car cela utilise un champ de texte plutôt qu'un menu de sélection.
Actuellement, je vois la solution comme ayant un bouton "Ajouter nouveau" à côté du menu de sélection. Lorsque le bouton est cliqué, un modal est ouvert qui permet à l'utilisateur d'entrer dans la nouvelle option de menu de sélection, puis enregistrer (mettre à jour la base de données), le modal est fermé et le formulaire est mis à jour. Je me demande simplement si une solution élégante existe déjà.
Toute aide serait grandement appréciée.
Merci.
MISE À JOUR:
Je n'ai pas créé de code pour mettre en œuvre ce encore, mais voici ma forme:
<%= simple_form_for @other, :html => { :class => 'form-horizontal' } do |f| %>
<fieldset>
<%= f.error_notification %>
<%= f.association :other_type, :include_blank => false %>
<%= f.input :cost%>
<%= f.input :invoice %>
<%= f.input :notes, :input_html => {:class => "row-fluid"} %>
<%= f.error :base %>
<div id="eze_form_actions" class="form-actions">
<%= f.submit nil, :class => 'btn btn-primary' %>
<%= link_to 'Cancel', others_path, :class => 'btn' %>
</div>
</fieldset>
<% end %>
Publiez votre code aussi – Shail
Avec un peu de magie javascript, vous pouvez le faire ressembler exactement à des formes dynamiques et toutes ces gemmes ... – gmaliar
Ok, je suis un peu un débutant, donc s'il n'y a pas de solution existante, cela signifie J'ai un peu de lecture à faire sur la façon de l'implémenter avec javascript. Merci de votre aide. – Marklar