2016-06-23 2 views
0

Вот часть представления, о котором идет речь. Я пытаюсь сделать это с помощью опции 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 %> 
+1

я думаю, что вы должны использовать камень «Select2 рельсы» это сделать проще для вас. – CodeMaker

ответ

0

Вы можете добавить: input_html => {: размер => 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 }) %> 
+0

'синтаксическая ошибка, неожиданная ',', ожидающая ')' ..." id "," name "), multiple: true),: input_html => {: size => 10 ... ... ^' not видя, где ошибка, хотя – sivanes

+0

Просто нужно поместить input_html внутри параметра. Обновлен ответ – plin

+0

страница загружается нормально сейчас, но выпадающий список разрешает только один выбор – sivanes

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

+0

«Artist.all», «id», «name» «part only заботится об этом, хотя художники действительно появляются в раскрывающемся списке, я просто не могу выбрать более одного из них – sivanes

Смежные вопросы