如何选择f.select导轨

Way*_*Chu 18 select ruby-on-rails selected option

这是我的代码:

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

结果是:

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)
Run Code Online (Sandbox Code Playgroud)

为什么.....@@?

Rai*_*dal 34

不需要使用:selected只是params[:area]单独传递给options_for_select作为第二个参数:

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

params[:area]将选择您的最后一个值.

希望能帮助到你 ; )


Mar*_*pka 14

您应该将:selected选项传递给options_for_select方法,如下所示:

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