以下是相关视图的一部分。我尝试使用multiple: true
选项执行此操作,但是当选择一个项目而另一个项目时,该复选框仅显示我选择的最后一个项目。
<%= f.fields_for :event_artists do |fea| %>
<%= fea.select(:artist_id, options_from_collection_for_select(Artist.all, "id", "name"), multiple: true) %>
<% end %>
答案 0 :(得分:0)
您可以添加:input_html =&gt; {:size =&gt; 10}所以看起来像 -
<%= f.fields_for :event_artists do |fea| %>
<%= fea.select(:artist_id, options_from_collection_for_select(Artist.all, "id", "name"), multiple: true, :input_html => {:size => 10 }) %>
答案 1 :(得分:0)
如果要在下拉列表中显示已选择的值,则需要传递数组。
<%= f.fields_for :event_artists do |fea| %>
<%= fea.select(:artist_id,
options_from_collection_for_select(Artist.all, "id", "name", [1,2,3]),
multiple: true) %>
<% end %>
请务必使用您的艺术家值更改数组[1,2,3,4]
,例如@event_artist.artist_ids