如何通过check_box_tag传递多个值到Rails?

4
我正在尝试通过 check_box_tag 向我创建的自定义函数传递多个值,但是我不知道该如何做,我已经在网上搜索了几个小时,但没有找到有用的信息。
基本上,我有一个详细视图,并尝试将详细信息的日期和 ID 信息传递给控制器并调用 create 方法。
<%= form_tag( { :action => 'create' } ) do %>
    <%  @details.each do |detail| %>
    <%= check_box_tag 'date[]', detail.date, false, :id => detail.id %>

        <%= detail.date %> 
    <% end %>
    <%= submit_tag 'Register!' %>
<% end %>

我尝试设置自定义值,但当我在调试器中输入params时显示如下内容:
{"utf8"=>"✓", "authenticity_token"=>"3PKBBKNmXyAfdSllTWBFP8EafhbrJ8rCgOeOp2NbeBA=", "date"=>["2013-06-08"], "commit"=>"Register!", "action"=>"create", "controller"=>"line_items"}
我真的不知道该怎么做。
谢谢您提前的答复!

为什么仅传递ID不足够? - Frederick Cheung
你可以通过这些复选框将ID发送到你的控制器,并从详细信息中收集特定日期。 - Debadatt
1个回答

8
请使用数组日期。
<%= form_tag( { :action => 'create' } ) do %>
    <%  @details.each do |detail| %>
    <%= check_box_tag 'detail[dates][]', detail.date, false, :id => detail.id %>
        <%= detail.date %> 
    <% end %>
    <%= submit_tag 'Register!' %>
<% end %>

嗨,我刚刚尝试了一下,但仍然不起作用。 我的参数排列方式正确吗? 这是我从params得到的内容:{"utf8"=>"✓", "authenticity_token"=>"3PKBBKNmXyAfdSllTWBFP8EafhbrJ8rCgOeOp2NbeBA=", "date"=>{"dates"=>["2013-06-08"]}, "commit"=>"Register!", "action"=>"create", "controller"=>"line_items"}。 - Cheng Lun Chen

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接