0

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

这是我的 form.html 代码。

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

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

4

2 回答 2

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将以与获取选项相同的顺序显示选项。不区分大小写的排序留作练习。

于 2013-07-05T04:36:18.147 回答
0
@founders.map{|founder| [founder.founder_name, founder.id]}.sort{|a,b| a.founder_name.downcase <=> b.founder_name.downcase}

这将解决您的问题。

于 2013-07-05T05:38:18.033 回答