如何实现嵌套的rails表单?我无法正确设置此设置。现在我有:
<%= 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
模型与(兴趣和假期)与用户模型具有完全相同的关系,但 需要编辑/添加多个属性。 任意想法?
答案 0 :(得分:4)
如果您使用的是Rails 3+,那么它会处理嵌套表单而不需要任何其他宝石。关键是在模型中的关联上使用“accepts_nested_attributes_for”方法,在表单助手上使用fields_for方法。阅读他们here和here。
我从未使用过simple_form,但我相信它驱动了Rails中的嵌套表单开发。因此,猜测一下,您需要将嵌套表单引用编写为:
<%= f.simple_fields_for :friend_birthdays do |friend_birthday| %>
<%= friend_birthday.input :name %>
<%= friend_birthday.input :gender, :collection => ['male','female'] %>
<% end %>
关键是,您需要在嵌套表单上调用帮助程序,而不是父表单。