C'est mon code:
<%= f.select :area, options_for_select([['a','a'],['b','b'],['c','c']]), {}, {:class => 'span3 controls controls-row'}, :selected => params[:area] %>
et le résultat est:
ArgumentError in Users#edit
Showing /home/airson/Rails_projects/friends_of_local/app/views/users/edit.html.erb where line #17 raised:
wrong number of arguments (5 for 4)
pourquoi.....@@?
Pas besoin d'utiliser :selected
il suffit de passer votre params[:area]
seul à options_for_select comme deuxième argument:
<%= f.select :area,
options_for_select([['a','a'],['b','b'],['c','c']], params[:area]),
{}, { :class => 'span3 controls controls-row' } %>
La dernière valeur de votre params[:area]
sera sélectionné.
J'espère que ça aide ; )
Vous devez réussir :selected
option pour options_for_select
méthode, comme ceci:
<%= f.select :area, options_for_select([['a','a'],['b','b'],['c','c']], :selected => params[:area]), {}, { :class => 'span3 controls controls-row' } %>
Les réponses ci-dessus n'ont pas fonctionné pour moi sur Rails 6. C'est ce qui a fonctionné. Copié à partir d'une des réponses sur Reddit
= f.select(:results, options_for_select(['Accepted', 'Not Accepted', 'Rejected', 'Acc', 'Rej', 'Information Only', 'N/A'], selected: @report.results || nil), { include_blank: "Select Result" }, { class: 'form-control select2', style: 'width: 100%;'})