如何在轨道上的ruby中选择一个类?

时间:2016-01-22 17:16:36

标签: ruby-on-rails

这就是我一直在尝试的:

<%= 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")

2 个答案:

答案 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后,在括号前有空格。您需要删除括号(保留空格)或删除空格。你不能有空格和圆括号。