web-dev-qa-db-fra.com

Rails select tag valeur sélectionnée

Mon tag:

<%= select_tag(:option, options_for_select([['All', 1], ['Co', 2], ['Bought', 3], ['View', 4], ['Top API', 5], :selected => :option ])) %>

Comment définir la valeur sélectionnée sur laquelle l'option est sélectionnée. Par exemple, si je sélectionne ['Bought', 3] Et que je soumets, l'option ['All', 1] Est sélectionnée. Comment puis-je afficher la valeur sélectionnée après l'envoi du formulaire.

17
Yogzzz

Vous avez tout fait correctement, fermez simplement les options ] avant le :selected => :option:

au lieu de ...], selected: :option ])), remplacez par ...]], selected: :option ))

Donc, votre code devrait être:

<%= select_tag(:option, options_for_select([['All', 1], ['Co', 2], ['Bought', 3], ['View', 4], ['Top API', 5]], selected: :option )) %>
26
gabrielhilal

Essaye ça:

<%= select_tag(:option, options_for_select([['All', 1], ['Co', 2], ['Bought', 3], ['View', 4], ['Top API', 5]], :selected => params[:option])) %>

Cela fonctionne parfaitement dans Rails 4.2

10

Si vous souhaitez ajouter une classe à la balise:

<%= select_tag(:option, options_for_select([["Option 1",1],["Option 2",2],["Option 3",3]], params[:option] ), class:"select") %>

Travailler en Rails 5.

1
Gabriel Lucuy