2013-08-07 27 views
14

E 'il mio codice:Come fare i binari f.select selezionati

<%= f.select :area, options_for_select([['a','a'],['b','b'],['c','c']]), {}, {:class => 'span3 controls controls-row'}, :selected => params[:area] %> 

e il risultato è il seguente:

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) 

perché ..... @@?

+0

Potresti incollare l'intero modello edit.html.erb? –

risposta

24

Non c'è bisogno di usare :selected basta passare il vostro params[:area] da solo a options_for_select come secondo argomento:

<%= f.select :area, 
    options_for_select([['a','a'],['b','b'],['c','c']], params[:area]), 
    {}, { :class => 'span3 controls controls-row' } %> 

L'ultimo valore del tuo params[:area] sarà selezionato.

Spero che sia d'aiuto;)

9

Si dovrebbe passare :selected opzione per options_for_select metodo, in questo modo:

<%= f.select :area, options_for_select([['a','a'],['b','b'],['c','c']], :selected => params[:area]), {}, { :class => 'span3 controls controls-row' } %>