如何仅从选择的下拉轨道中获取唯一值

时间:2016-06-18 16:50:07

标签: ruby-on-rails

我正在尝试在一年中显示唯一值。这是我到目前为止所尝试的

    =   select_tag("year", options_for_select(Car.all.uniq.map{|c|[c.year, c.year]}))

我知道uniq是一个数组。另一个想法是对唯一性进行验证,但客户不希望这样。

2 个答案:

答案 0 :(得分:0)

您在uniq型号上使用Car。您应该从集合中映射所有年份,然后删除重复项:

= select_tag("year", options_for_select(Car.all.map(&:year).uniq))

答案 1 :(得分:0)

您可以在此处使用选择字段获取唯一下拉列表,请查看以下代码以获取帮助:

<%= f.select :year, options_for_select(Car.all.map {|p| [ p.year ]}.uniq,   "Select Year"),:prompt => "Select Year",:required => true %>