ruby-on-rails - 如何在Rails的collection_select中使用控制器变量in selected field?
问题描述
假设我的控制器中有这个数组变量:@estudiantes_seleccionados = @clase.estudiantes
具体来说,在:
def set_clase
@clase = Clase.find(params[:id])
@estudiantes_seleccionados = @clase.estudiantes
end
如何在视图中的selected:
字段中使用它(@estudiantes_seleccionados),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
下拉列表中的所有值都显示为预选?
解决方案
尝试以下操作:
<%= collection_select(:estudiantes, :id, Estudiante.all, :id, :id_campus, {selected: @estudiantes_seleccionados.map(&:id)}, {class: 'form-control', multiple: 'true'}) %>
推荐阅读
- haskell - 堆栈设置:在路径上找不到名为 git 的可执行文件
- javascript - 将块绑定到表格中的单元格
- mysql - 如何在 Mosaic 中创建与任何外部数据库的连接?
- ios - Unity - 分发构建崩溃 - EXC_BAD_ACCESS - KERN_INVALID_ADDRESS
- python - 无法以橙色运行主题建模 - 文本挖掘插件中不显示图标
- php - Laravel 在 Blade 上使用外键获取另一个表的值
- android - (已解决)getUid 只能从同一个库组中调用(groupId=com.google.firebase)
- c - 为什么当 mod 限制为 <=1 时它会返回零?
- android - 如何在 Android 中使用 Navigation Drawer
- python - 由于另一行(级别+子级)创建带有路径的列