如何选择f.select导轨

问题描述 投票:18回答:3

这是我的代码:

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

结果是:

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)

为什么..... @@?

ruby-on-rails select option selected
3个回答
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' } %>

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

希望有帮助; )


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' } %>

0
投票

以上答案在Rails 6上对我不起作用。这是有效的。 Copied from one of the answers on 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%;'})
© www.soinside.com 2019 - 2024. All rights reserved.