Rails:使用Javascript为隐藏的输入字段设置多个值

Rails:使用Javascript为隐藏的输入字段设置多个值,javascript,html,ruby-on-rails,Javascript,Html,Ruby On Rails,我正在使用Rails 5并尝试实现多个删除功能。表格如下: <%= form_tag destroy_multiple_scan_assets_path, method: :delete do %> <%= hidden_field_tag :asset_ids, nil, multiple: true %> <%= submit_tag 'Delete', class: 'btn btn-danger' %> <% end %> 如何设

我正在使用Rails 5并尝试实现多个删除功能。表格如下:

<%= form_tag destroy_multiple_scan_assets_path, method: :delete do %>
  <%= hidden_field_tag :asset_ids, nil, multiple: true %>
  <%= submit_tag 'Delete', class: 'btn btn-danger' %>
<% end %>
如何设置隐藏字段的值,以便rails将其解释为:

Parameters: {"asset_ids"=>["1", "2", "3", "4"]} 

您不能使用单个隐藏字段来实现这一点,但是如果您为每个id添加一个名为
asset\u id[]
的隐藏字段,就可以得到这个结果。rails知道它必须将参数解析为数组

selected_asset_elements.each(function (el) {
  field = document.createElement('INPUT');
  field.type = 'hidden';
  field.name = 'asset_ids[]';
  field.value = el.id; #something like this
  your_form.append(field);
});
顺便说一句,
multiple
不是隐藏字段的有效选项,它只接受字符串值

selected_asset_elements.each(function (el) {
  field = document.createElement('INPUT');
  field.type = 'hidden';
  field.name = 'asset_ids[]';
  field.value = el.id; #something like this
  your_form.append(field);
});