如何确保rails multiselect输入字段正确传递所有值?

时间:2015-04-02 00:11:22

标签: ruby-on-rails jquery-select2

所以,我在bootstrap模式中有一个表单。

当模态加载时,一些javascript调用服务器来确定当前用户已选择的内容(这是一个编辑模式)。一旦服务器响应返回,表单选择将自己设置为用户已经选择的值,如下面的屏幕截图所示。

https://cl.ly/image/0u352k2F3Z2C/Image%202015-04-01%20at%205.02.36%20PM.png

提交表单时出现问题。发送到服务器的参数有关键' room_object_id'指向单个值。除了命名该键的问题之外,我需要该键指向值数组或字符串或任何将保存多个值的结构,但情况并非如此,如下面的屏幕截图所示。

https://cl.ly/image/1o0z1U160N0S/Image%202015-04-01%20at%205.04.56%20PM.png

我的表单由

生成
<%= form_for :student, url: student_path, html: {class: 'form-horizontal sync'}, method: :put do |f| %>

<%= f.select(:room_object_id, options_for_select(@rooms.map {|room| [ room['name'], room['objectId'] ]}),{multiple: 'true', include_blank: ''} , {:class => 'select2-init form-control force-full-width', required: 'true', multiple: 'true', name: 'room_object_id'}) %>

<% end %>

我有点不清楚select2和html表单是如何协同工作的,我感觉我的问题与此有关。我对rails selectcollection_selectoptions_for_select的不同用法也有点不清楚。我已经看过关于这个主题的其他SO帖子,但没有任何指示我正确的方向。任何指针都将非常感激。

1 个答案:

答案 0 :(得分:1)

您使用的是运行select2所需的JavaScript吗?

$(document).ready(function() {
  $("#id_of_your_select_field").select2();
});

如果您是,您的JavaScript控制台是否显示任何错误?