Как использовать переменную контроллера в выбранном поле для в коллекции collection_select в Rails? - PullRequest
0 голосов
/ 16 марта 2020

Предположим, у меня есть переменная массива в моем контроллере: @estudiantes_seleccionados = @clase.estudiantes

В частности, в:

def set_clase
  @clase = Clase.find(params[:id])
  @estudiantes_seleccionados = @clase.estudiantes
end

Как использовать его (@estudiantes_seleccionados) в поле selected: в collection_select в виде предварительного выбора нескольких значений в переменной при загрузке раскрывающегося списка?

<%= collection_select(:estudiantes, :id, Estudiante.all, :id, :id_campus, {selected: @estudiantes_seleccionados}, {class: 'form-control', multiple: 'true'}) %>

Кажется, проблема в multiple: 'true'. Когда я его удаляю, в раскрывающемся списке предварительно выбирается только одно из значений @estudiantes_seleccionados, но когда оно присутствует, ни одно из значений в массиве не отображается.

Итак, как мне получить все значения в @estudiantes_seleccionados появляется ли как предварительно выбранное в раскрывающемся списке?

1 Ответ

0 голосов
/ 16 марта 2020

Попробуйте следующее:

<%= collection_select(:estudiantes, :id, Estudiante.all, :id, :id_campus, {selected: @estudiantes_seleccionados.map(&:id)}, {class: 'form-control', multiple: 'true'}) %>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...