【问题标题】:How can I have a multiple grouped select with simple_form?如何使用 simple_form 进行多组选择?
【发布时间】: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

【问题讨论】:

标签: ruby-on-rails ruby html ruby-on-rails-4 simple-form


【解决方案1】:

我自己想出来的。

这产生了正确的输出:

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

关键部分是:

input_html: { :multiple => true }

【讨论】:

    猜你喜欢
    • 2011-05-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-07-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多