如何选择 f.select 导轨
Posted
技术标签:
【中文标题】如何选择 f.select 导轨【英文标题】:How to make the f.select rails selected 【发布时间】:2013-08-08 16:17:41 【问题描述】:这是我的代码:
<%= 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)
为什么.....@@?
【问题讨论】:
你能粘贴整个edit.html.erb模板吗? 【参考方案1】:无需使用: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]
的最后一个值将被选中。
希望对您有所帮助; )
【讨论】:
【参考方案2】:您应该将:selected
选项传递给options_for_select
方法,如下所示:
<%= f.select :area, options_for_select([['a','a'],['b','b'],['c','c']], :selected => params[:area]), , :class => 'span3 controls controls-row' %>
【讨论】:
【参考方案3】:以上答案在 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%;')
【讨论】:
也在 Rails 5.0 中工作过。【参考方案4】:以下是我在使用 Ransack 搜索时使用 f.select 和自定义名称和值(包括空白字段)的方法。感谢市长的榜样让我朝着正确的方向开始。这也适用于 rails 5.1.7。
<%= f.select(:status_eq, options_for_select([ ["Verified", "verified"], ["Non Verified","notVerified"]], selected: @q.status_eq || nil), :include_blank => "Select Status", class: 'form-control') %>
【讨论】:
以上是关于如何选择 f.select 导轨的主要内容,如果未能解决你的问题,请参考以下文章
导轨。 Dropdown1 使用 Ruby on Rails 启用 Drobdown2 选择
如何使用 jquery rails 获取 html 选择的下拉值?
其中哪一个是与“最新导轨”应用程序一起使用的更好选择? Mongrel、Thin、WEBrick 和Passenger