单个模型/表格上的分组集合选择?

时间:2013-05-10 12:40:45

标签: ruby-on-rails ruby-on-rails-3 grouped-collection-select

是否可以在单个模型上执行grouped_collection_select?我见过的大多数例子都使用了两个模型。比如这个Railscast:http://railscasts.com/episodes/88-dynamic-select-menus-revised

我有一个Venue模型,其中包含场地名称和城镇(以及其他内容)。目前我的场地选择很大,我想按城镇分组。我是否需要将城镇转移到单独的模型中?

1 个答案:

答案 0 :(得分:1)

你现在在哪里存放城镇?无论如何,在另一个模型中建立城镇可能是一个更好的解决方案,但这取决于其他事情,例如,如果你认为城镇数据会随着时间而改变。但是,您可以轻松添加分组选择而无需新模型。尝试这样的事情:

<% form_for @venue do |f| %>
   <%= f.select :town, grouped_options_for_select(@towns) %>
   ...

然而@towns应该是和这样的二维数组

[
  ["Group1", 
    ["Town1", "Town2", "Town3"]
  ], 
  ["Group2", 
    ["Town4", "Town5", "Town6"]
  ]
]

你可以在这里看到更多: http://api.rubyonrails.org/classes/ActionView/Helpers/FormOptionsHelper.html#method-i-grouped_options_for_select

否则,如果您有城镇和当前表格的一些数据示例,我可以帮助您更多:)