【发布时间】:2015-12-01 18:28:34
【问题描述】:
默认情况下,这给了我一个多重选择,因为它是一个 has_many 关系:
<%= f.association :tags %>
但是,我想根据类别对标签进行分组。然而,当我这样做时,我的选择变成了只允许一个选择的普通选择。换句话说,输入的“multiple”属性消失了。
<%= f.association :tags, as: :grouped_select, collection: TagGroup.all, group_method: :tags %>
我尝试了不同的建议,例如添加html: {multiple: "multiple"} 或简单地添加multiple: true,但都没有任何效果。
我错过了什么吗?在这种情况下,我看不出为什么我的选择不能是倍数,因为所有分组选择应该做的是添加 optgroup 标签。
这是我在没有进行分组选择的情况下得到的标签:
<select multiple="multiple" class="select optional" name="news_story[tag_ids][]" id="news_story_tag_ids">
并使用分组选择:
<select class="grouped_select optional" name="news_story[tag_ids]" id="news_story_tag_ids">
它似乎也破坏了 name 属性,尽管我没有测试这是否会造成问题。
编辑:我会选择grouped_collection_select 助手,但这也没有提供用于添加属性的选项哈希。
http://apidock.com/rails/v4.2.1/ActionView/Helpers/FormOptionsHelper/grouped_collection_select
【问题讨论】:
-
你有没有偶然看到
grouped_options_for_select? apidock.com/rails/ActionView/Helpers/FormOptionsHelper/… 您可以按常规方式构建选择多个并将已构建的选项传递给它。
标签: ruby-on-rails ruby html ruby-on-rails-4 simple-form