1

我有一个表格fields_for,每个人都有一个嵌套表格。这个想法是用户可以使用复选框选择要添加到预订中的人

<%= form_for(@booking) do |f| %>    
  <% people.each do |person| %>
    <%= f.fields_for :appointments do |builder| %>
      <p>                                     
        <%= builder.hidden_field :event_id, :value => @event.id %>  
        <%= builder.check_box :person_id, :value => person.id %>
      </p>
    <% end %>
  <% end %>
<% end %>

问题是,复选框值始终为“1”如果我用 text_field 替换 check_box,我会正确显示所有字段,并使用正确的值,并且提交表单以创建预订。

如何让check_box字段以person.id非 1 作为值显示?

4

1 回答 1

4

您将不正确的参数传递给check_box辅助函数

试试这个:

<%= builder.check_box :person_id, {}, person.id %>
于 2013-01-03T03:05:59.567 回答