我在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>
有什么我可以更改,以便按字母顺序显示在我的表单中吗?任何提示都会很棒。谢谢!
答案 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}
这将解决问题。