J'ai un formulaire d'édition dans erb.
<%= form_for @animal do |f| %>
Dans le code, j'ai un choix avec des options:
<%= f.select :gender, options_for_select([['Mare'], ['Stallion'], ['Gelding']], :selected => :gender) %>
Cependant, la sélection est ne montrant pas la valeur sélectionnée correcte. Que pourrais-je faire de mal? Je peux le faire fonctionner si je le code en dur, mais bien sûr, ce n'est pas une option viable.
Dans votre code, votre appel options_for_select()
définit la valeur sélectionnée sur "gender" et n'essaie pas d'utiliser la valeur de votre objet de formulaire.
Veuillez consulter la documentation de options_for_select()
pour des exemples d'utilisation.
options_for_select(['Mare', 'Stallion', 'Gelding'], f.object.gender)
options_for_select(['Mare', 'Stallion', 'Gelding'], :selected => f.object.gender)
Alternativement, vous pouvez le faire , qui utilisera déjà la valeur gender()
pour votre objet formulaire:
<%= f.select :gender, ['Mare', 'Stallion', 'Gelding'] %>
Au fait, si vous utilisez :include_blank => true
, cela mettra votre sélection actuelle à blanc même si le formulaire "sait" ce qui est sélectionné.