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适合我的兴趣和假期模型,因为它们每个只需要收集一个属性。但是,该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 回答