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」であることです。check_box を text_field に置き換えると、すべてのフィールドが正しい値で正しく表示され、フォームが送信されて予約が作成されます。

check_box1 以外の値をフィールドに表示するにはどうすればよいperson.idですか?

4

1 に答える 1

4

check_box間違ったパラメーターをヘルパー関数に渡しています。

これを試して:

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