2011-09-27 152 views
1

我有一个表单,用户注册并创建一个帐户,一个用户和一个网站。Rails 3创建默认嵌套对象

def new 
    @account = Account.new 
    @account.users.build 
    @account.websites.build 
    ... 
end 

def create 
    @account = Account.new(params[:account]) 
    ... 

,一切工作正常。现在,我想创建一个带有Page.title =“homepage”和Page.body =“”的默认页面。

我该怎么做?我尝试了不同的选择,它不起作用。例如,我这样做@account.websites.pages.build,我得到这个undefined method pages for []:ActiveRecord::Relation

+1

尝试'@ account.websites.build.pages.build' –

+0

尝试,但我得到了无类'未定义的方法标题@ account.websites [0] .PAGES [0] .title伪= “主页” ' – leonel

回答

1

通过@account.websites返回的集合是一个数组,导轨不能直觉你想创建关联的对象......你需要指定你想建立一个网页,其中网站,成员集合,即

@account.websites.first.pages.build