【问题标题】:Rails 3 create default nested objectsRails 3 创建默认嵌套对象
【发布时间】:2011-10-08 01:42:35
【问题描述】:

我有一个用户注册并创建帐户、用户和网站的表单。

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

【问题讨论】:

  • 试试@account.websites.build.pages.build
  • 试过了,但我得到了 nil 类@account.websites[0].pages[0].title = "homepage"的未定义方法标题

标签: ruby-on-rails ruby activerecord


【解决方案1】:

@account.websites 返回的集合是一个数组,rails 无法直观地知道您尝试在集合的哪个成员上创建关联对象...您需要指定要为哪个网站构建页面,即

@account.websites.first.pages.build

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2020-12-07
    • 2014-08-12
    • 2022-11-25
    • 1970-01-01
    • 1970-01-01
    • 2020-04-09
    • 2010-10-25
    • 1970-01-01
    相关资源
    最近更新 更多