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" %>