在复选框提交轨道上发送多个参数

时间:2017-06-30 20:24:59

标签: ruby-on-rails

我在使用复选框提交时无法提交多个参数。我如何发送这两个参数?

我在表格的每一行中都有两个项目,列数为"产品收入"和"产品名称"并且我在每行上使用一个复选框来选择它,然后在提交时我想将这两个值发送到控制器。我可以得到一个项目,但是也无法弄清楚如何发送第二个项目 我尝试使用隐藏的字段,但我无法正常工作。

查看代码

<%= form_tag add_multiple_path, method: :post do %>
    <%= check_box_tag 'price_test_datum[product_title][]', p.dimensions[0] %>
    <% hidden_field_tag('price_test_datum[product_price][]', p.metrics[0].values[0]) %>
    <%= submit_tag "Add selected" %>
<% end %>

控制器代码(目前仅针对一个项目,因为两个参数都没有被发送)

def add_multiple
params[:price_test_datum][:product_title].each {|p| PriceTestDatum.create(product_title: p) }
 respond_to do |format|
  format.html { redirect_to price_test_data_path }
  format.json { head :no_content }
 end
end

发送的参数:     {&#34; utf8&#34; =&gt;&#34;✓&#34;,&#34; authenticity_token&#34; =&gt;&#34;令牌在这里&#34;,&#34; price_test_datum&#34 ; =&GT;     {&#34; product_title&#34; =&gt; [&#34;小工具1&#34;,&#34;小工具2&#34;]},&#34;提交&#34; =&gt;&#34;添加所选的&#34;}

1 个答案:

答案 0 :(得分:0)

对于您的原始问题(在更正之前),您在这里错过了=

<% hidden_field_tag('price_test_datum[product_price][]', p.metrics[0].values[0]) %>

应该是:

<%= hidden_field_tag('price_test_datum[product_price][]', p.metrics[0].values[0]) %>