我在Rails 4中有一个枚举,其中包含60个不同的值,这些值在我的模型中编码。我试图将这些枚举分成不同的选择菜单。目前,我有以下代码:
<%= f.select :termenum, Price.termenums.map { |k,v| [k.humanize, k] },
{:include_blank => ''}, class: "form-control" %><br>
显示所有这些内容。有没有办法在这个选择下拉列表中只有前10个,然后在另一个选择下拉列表中另外10个。谢谢!
答案 0 :(得分:0)
您可以使用each_slice
来构建群组。
<% i = 0 %>
<%= Price.termenums.each_slice(1) do |enums_slice| %>
<%= f.select "termenum_#{i += 1}", Price.termenums.map { |k,v| [k.humanize, k] },
{:include_blank => ''}, class: "form-control" %>
<% end %>
答案 1 :(得分:0)
我决定如何。我的方法很重复,但仍然有效。我在模型中创建了一个列表。 COLOR = {&#34; X&#34; =&gt; 14}与枚举相匹配。然后,我使用了options_for_select(Price :: COLOR.map {...}来指定表单中的select标签。它似乎运行良好。