无法获取要提交的复选框数组

时间:2012-09-11 21:45:08

标签: ruby-on-rails ruby-on-rails-3 forms

我有以下表格(截断)

    <%= form_for(daysevent, :html => { :class => "form-inline"} ) do |f| %>
    <fieldset>
    <div class="control-group">
        <%= f.label :start_date, :class => 'control-label' %>
        <div class="controls">
          <%= f.text_field :start_date, 'data-behavior' => 'datepicker1' %>
        </div>
      </div>
      <div class="control-group">
        <%= f.label :end_date, :class => 'control-label' %>
        <div class="controls">
          <%= f.text_field :end_date, 'data-behavior' => 'datepicker2' %>
        </div>
      </div>
    Locations for this date:<br/>
    <% daysevent.event.locations.each do |l|%>         
        <%= check_box_tag 'location_ids[]', l.id, true -%><%= h l.name -%><br/>    
    <% end %> 
    <%= f.submit 'Create Date' %>
    </fieldset>
    <% end %> 

我正在尝试在ID数组中获取位置复选框列表,但它不起作用,在我的create方法中返回render:text =&gt; params [:days_event]只是返回start_date和end_date。我只做了几个月的铁路,所以它可能很简单,但都有助于他的赞赏。

1 个答案:

答案 0 :(得分:1)

您不是在params[:days_event]中,而是在params[:locations_ids]中发送复选框的值。您可以检查rails server的调试输出,您将看到已解析的params哈希。

如果您想要发送它们,请将复选框更改为:

<%= check_box_tag "days_event[location_ids][]" .... %>