我正在尝试显示一个下拉列表,其值应按同一表格中不同字段的顺序显示。
也就是说,表“用户”具有id
,category
,name
和description
。
我需要显示一个用于用户名的选择菜单,并且这些值应按类别分组。我使用grouped_collection_select
来实现这一点,但是运气不好,因为这些字段都在同一张表中。
<div class="field">
<%= form.label :user_id %>
<%= form.grouped_collection_select :user_id, Something.order(:category), User.order(:name), :category, :id, :name %>
</div>
感谢您的帮助!
答案 0 :(得分:1)
grouped_collection_select(object, method, collection, group_method, group_label_method, option_key_method, option_value_method, options = {}, html_options = {})
和一个示例:
grouped_collection_select(:city, :country_id, @continents, :countries, :name, :id, :name)
说实话,我自己还不太了解这种方法,所以让我们使用grouped_options_for_select
。
f.select :name, grouped_options_for_select(User.all.group_by(&:category))
假设您的模型具有category
属性。