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

时间:2013-07-30 06:40:27

标签: ruby-on-rails

我正在尝试将多个值传递给我通过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”=&gt;“✓”,“authenticity_token”=&gt;“3PKBBKNmXyAfdSllTWBFP8EafhbrJ8rCgOeOp2NbeBA =”,“date”=&gt; [“2013-06-08”],“commit”=&gt;“注册! “,”action“=&gt;”创建“,”控制器“=&gt;”line_items“}

我真的不知道该怎么做。

提前感谢您的回答!

1 个答案:

答案 0 :(得分: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 %>