我在使用复选框提交时无法提交多个参数。我如何发送这两个参数?
我在表格的每一行中都有两个项目,列数为"产品收入"和"产品名称"并且我在每行上使用一个复选框来选择它,然后在提交时我想将这两个值发送到控制器。我可以得到一个项目,但是也无法弄清楚如何发送第二个项目 我尝试使用隐藏的字段,但我无法正常工作。
查看代码
<%= 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;}
答案 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]) %>