我试图了解如何制作我的模型的嵌套形式,但我对理解如何以及我需要做什么感到困惑。我一直在阅读Rails文档并查看了railscast,但他们只是提到accepts_nested_attributes_for
方法等而没有解释。有人可以帮忙吗?
答案 0 :(得分:1)
根据Rails的API,它说:
嵌套属性允许您通过父级保存关联记录的属性...
示例:它显示了我们如何通过会员管理帖子, fields_for 用于管理表单中的关联字段,并将相关模型的名称传递给它循环遍历所有相关的帖子记录,并为每个帖子创建一个表单构建器。
#controller
def new
@member = Member.new
end
#model
class Post < ActiveRecord::Base
belongs_to :member
end
class Member < ActiveRecord::Base
has_many :posts
accepts_nested_attributes_for :posts
end
#form
<%= form_for @member do |f| %>
<%= f.error_messages %>
<p>
<%= f.label :name %><br />
<%= f.text_field :name %>
</p>
<%= f.fields_for :posts do |builder| %>
<p>
<%= builder.label :account %><br />
<%= builder.text_area :account %>
</p>
<% end %>
<p><%= f.submit "Submit" %></p>
<% end %>
Rails API:http://api.rubyonrails.org/classes/ActiveRecord/NestedAttributes/ClassMethods.html