Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ruby-on-rails/56.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/redis/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails rails select2字段未返回到表单中_Ruby On Rails_Select2 Rails - Fatal编程技术网

Ruby on rails rails select2字段未返回到表单中

Ruby on rails rails select2字段未返回到表单中,ruby-on-rails,select2-rails,Ruby On Rails,Select2 Rails,这可能是未回答问题的一种变体 我有一个现场律师的身份证 <%= form_for(@mail) do |f| %> ... <div class="field"> <%= f.label :barrister_id %><br /> <!-- %= f.collection_select :barrister_id, Barrister.all, :id, :code_and_name % --> <

这可能是未回答问题的一种变体

我有一个现场律师的身份证

<%= form_for(@mail) do |f| %>
  ...
  <div class="field">
    <%= f.label :barrister_id %><br />
    <!-- %= f.collection_select :barrister_id, Barrister.all, :id, :code_and_name % -->
    <% @barristers = Barrister.all %>
    <%= select_tag :barrister_id,   options_from_collection_for_select(@barristers,
      :id,:code), id: "barristerselect"%>
  </div>

...

application.html.erb将其链接到javascript Select2 gem,因此:

<script>
  $(document).ready(function() { $("#barristerselect").select2(); });
</script>

$(文档).ready(函数(){$(“#barristerselect”).select2();});
这给了我一个奇妙的Select2下拉列表

但是字段值barrister_id仅在params.barrister_id中返回,与params.mail.barrister_id中的预期不同,因此输入的值因为空而未通过验证

如图所示,我更愿意在选择框中使用f.collection\u select,但无法让Select2很好地使用它


各位有什么想法吗?

这是因为您更改了选择控件的id。尝试将id更改为mail\u barrister\u id(由select\u tag helper生成的默认id)。还应更改select2的java脚本中的id。在本例中,首先应使用f.select。使用select_标记,您需要执行此操作

<%= select_tag "mail[barrister_id]",   options_from_collection_for_select(@barristers,
  :id,:code), id: "barristerselect"%>

如果您使用f.select,则使用此选项。请注意空的花括号。这是因为html_选项是f.select helper的第四个参数。签出文档



这似乎并不能解决最初的问题-字段值barrister_id仅在params.barrister_id中返回,与params.mail.barrister_id中的预期不同,因此输入的值因为空而无法验证。是的,我错了。它不是id,而是name参数。姓名应为mail[男侍_id]。尝试将您的助手呼叫更改为
<%= f.select :barrister_id, options_from_collection_for_select(@barristers,
  :id,:code), {}, id: "barristerselect" %>