这就是我一直在尝试的:
<%= select (:filter, :min_sale_price, item.buy_prices.map {|p| [Money.new(p, :gbp).format(:no_cents), p / 100]}, selected: params[:filter] && params[:filter][:min_sale_price], include_blank: 'No minimum', :class => "form-control") %><br />
我也尝试过使用:
, class: "form-control")
答案 0 :(得分:0)
您需要group the Rails options from the HTML options。
<%= select (:filter, :min_sale_price, item.buy_prices.map {|p| [Money.new(p, :gbp).format(:no_cents), p / 100]}, {selected: params[:filter] && params[:filter][:min_sale_price], include_blank: 'No minimum'}, {:class => "form-control"}) %><br />
答案 1 :(得分:0)
您正在调用的方法的签名如下:
select(object, method, choices = nil, options = {}, html_options = {}, &block)
如果不包含各种选项的散列的任何部分,它们都将被假定为单个散列,并将作为options
传递给该方法的第4个参数。
为了避免这种情况,您应该将大括号内的第一组(或两组)选项分组,以将预期的哈希显式传递给方法的正确参数:
<%= select(:filter, :min_sale_price, item.buy_prices.map {|p| [Money.new(p, :gbp).format(:no_cents), p / 100]}, {selected: params[:filter] && params[:filter][:min_sale_price], include_blank: 'No minimum'}, :class => "form-control") %><br />
更新:
我注意到在您致电select
后,在括号前有空格。您需要删除括号(保留空格)或删除空格。你不能有空格和圆括号。