繁体   English   中英

如何使用simple_form进行多重分组选择?

[英]How can I have a multiple grouped select with simple_form?

默认情况下,由于具有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

我自己解决了。

这产生了正确的输出:

<%= f.association :tags, as: :grouped_select, collection: TagGroup.all, group_method: :tags, input_html: { :multiple => true } %>

关键部分是:

input_html: { :multiple => true }

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM