3

ネストされたレールフォームを作成するにはどうすればよいですか?この設定を正しく行うのに問題があります。今私は持っています:

<%= simple_form_for @user do |f| %>

  <%= f.input :city %>
  <%= f.input :address %>
  <%= f.input :zipcode %>
  <%= f.association :interests, :as => :check_boxes, :label => false %>
  <%= f.association :holidays, :as => :check_boxes, :label => false %>

  <%= f.simple_fields_for :friend_birthdays do |friend_birthday| %>
    <%= f.input :name %>
    <%= f.input :gender, :collection => ['male','female'] %>
  <% end %>
  <%= f.button :submit %>
<% end %>

f.associationそれぞれ1つの属性を収集するだけでよいので、私の興味と休日のモデルでは問題なく機能しています。ただし、friend_birthdaysモデルはユーザーモデルと(利害関係および休日)とまったく同じ関係にありますが、複数の属性を編集/追加する必要があります。何か案は?

4

1 に答える 1

4

Rails 3+を使用している場合は、追加のgemなしでネストされたフォームを処理します。重要なのは、モデルの関連付けで「accepts_nested_attributes_for」メソッドを使用し、フォームヘルパーでfields_forメソッドを使用することです。ここここでそれらを読んでください。

simple_formを使用したことはありませんが、Railsでネストされたフォームの開発を促進したと思います。したがって、推測すると、ネストされたフォーム参照を次のように記述する必要があります。

<%= f.simple_fields_for :friend_birthdays do |friend_birthday| %>
  <%= friend_birthday.input :name %>
  <%= friend_birthday.input :gender, :collection => ['male','female'] %>
<% end %>

重要なのは、親フォームではなく、ネストされたフォームでヘルパーを呼び出す必要があるということです。

于 2012-05-15T19:03:16.843 に答える