将下拉菜单按字母顺序放在轨道上的红宝石中

时间:2013-07-05 04:10:22

标签: ruby-on-rails drop-down-menu alphabetical

我在rails上使用ruby来创建数据库。我为其中一个表格添加了一个下拉菜单。下拉菜单是另一个表中的外键。我正在试图弄清楚如何按字母顺序放下该下拉菜单。

这是我的form.html代码。

<div class="field">
  <%= f.label :founder_id %><br />
  <%= f.select(:founder_id, @founders.map{|founder| [founder.founder_name, founder.id]}) %>
</div>

有什么我可以更改,以便按字母顺序显示在我的表单中吗?任何提示都会很棒。谢谢!

2 个答案:

答案 0 :(得分:0)

是的,只需添加一些排序:

@founders.sort_by(&:founder_name).map{|founder| [founder.founder_name, founder.id]}

@founders.map{|founder| [founder.founder_name, founder.id]}.sort_by(&:first)

f.select将按照获取选项的顺序显示选项。不区分大小写的排序留作练习。

答案 1 :(得分:0)

@founders.map{|founder| [founder.founder_name, founder.id]}.sort{|a,b| a.founder_name.downcase <=> b.founder_name.downcase}

这将解决问题。