我试图允许从Rails表单中的集合中选择多个值。该字段正在运行但不允许多个选择(一旦选择了备选选项,则先前选择的选项未被选中)。我正在使用Bootstrap CDN,我不认为这会导致问题,但我可能错了?
你能看到这段代码有什么问题吗?
<div class="field form-group row">
<%= f.label :industry_ids, class:"col-sm-3"%>
<%= f.collection_select(:industry_ids, Industry.all, :id, :name, {:multiple => true}, size: Industry.all.length) %>
</div>
谢谢你的帮助。
我相信你的问题是你把{:multiple => true}
放在错误的选项哈希中。 collection_select
的方法签名如下所示:
collection_select(object, method, collection, value_method, text_method, options = {}, html_options = {})
multiple
是select标签本身的html属性(这里是doc),所以你想把它传递给html_options
,而不是options
。您的代码如下所示:
f.collection_select(:industry_ids, Industry.all, :id, :name, {:multiple => true}, size: Industry.all.length)
Industry.all
是collection
,:id
是value_method
,:name
是text_method
,这意味着{ :multiple => true }
传递给options
,而不是html_options
。将它移动到第二个哈希,你应该没问题。