J'ai un emboîtées, comme:Rails: sélectionnez la valeur d'aide après un échec de créer
<% form_for @invoice do |f| %>
<%= render :partial => "invoice_item_fields", :locals => {:f => f} %>
<% end %>
et _invoice_items_fields:
<% f.fields_for :invoice_items do |builder| %>
<%= link_to_remove_fields "remove", builder %>
<%= builder.collection_select(:product_id, Product.all, :id, :name) %>
<%= builder.text_field :quantity, :size => 4,%>
<% end %>
Quand je soumets le formulaire et passer pas les validations il render la nouvelle action à nouveau. La chose est la valeur sélectionnée pour: product_id n'est pas rappelé, mais la: quantité est ok. J'ai lu que je devrais configurer une variable d'instance dans le contrôleur avec la valeur de l'option sélectionnée et faire quelque chose comme:
<%= builder.collection_select(:product_id, Product.all, :id, :name,
:selected => @selected_product) %>
mais la chose est l'application pourrait avoir beaucoup: invoice_items, donc je don Je ne sais pas quoi faire pour le champ select "souvenez-vous" des valeurs.
Merci.
Avez-vous regardé cet exemple (pas exactement la même chose mais ..): http://api.rubyonrails.org/classes/ActionView/Helpers/FormOptionsHelper.html#method-i-collection_select. Aussi, pourriez-vous poster un commentaire avec le HTML généré (seulement le select). Je parie que votre utilisation de collection_select est fausse. Lorsque la validation est passée, enregistre-t-elle l'enregistrement dans votre base de données avec le produit sélectionné? –
Salut pourriez-vous montrer le code de vos contrôleurs, pls? Si votre page contient plusieurs formulaires pour @invoice (ou tout autre objet avec des champs imbriqués), comment gérez-vous la requête? – Bohdan