[英]Ruby on Rails: How to use a local variable in a collection_select
[英]How to use a controller variable the in selected field for in collection_select in Rails?
假設我的控制器中有這個數組變量: @estudiantes_seleccionados = @clase.estudiantes
具體來說,在:
def set_clase
@clase = Clase.find(params[:id])
@estudiantes_seleccionados = @clase.estudiantes
end
我如何在視圖中的collection_select
中的selected:
字段中使用它(@estudiantes_seleccionados),以便在加載下拉列表時預選變量中的多個值?
<%= collection_select(:estudiantes, :id, Estudiante.all, :id, :id_campus, {selected: @estudiantes_seleccionados}, {class: 'form-control', multiple: 'true'}) %>
問題似乎是multiple: 'true'
。 當我刪除它時,只有@estudiantes_seleccionados 的一個值在下拉列表中被預選,但是當它存在時,數組中的任何值都不會出現。
那么,我如何讓@estudiantes_seleccionados
的所有值顯示為下拉列表中的預選?
請嘗試以下操作:
<%= collection_select(:estudiantes, :id, Estudiante.all, :id, :id_campus, {selected: @estudiantes_seleccionados.map(&:id)}, {class: 'form-control', multiple: 'true'}) %>
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.