2012-08-07 73 views
0

我想了解如何使模型的嵌套形式,但我很理解如何以及我需要做什麼。我一直在閱讀Rails文檔,看着railscast,但他們只是提到accepts_nested_attributes_for方法等沒有解釋。有人可以幫忙嗎?嵌套窗體和accepted_nested_attributes_for

回答

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