2

我在尝试创建相关对象时搜索并发现此Rails 3 未定义方法 `create' for nil:NilClass 错误,但该解决方案也给出了错误 - 堆栈级别太深,因此在 SO 上询问它。

我有一个具有 belongs_to 和 has_one 关系的用户模型和配置文件模型。

在我的 user.rb 模型中,我有

after_create :create_profile

def create_profile
  self.profile.create
end

但这在 self.profile.create 行给出了“nil:NilClass 的未定义方法‘create’”。用户也没有被创建或配置文件

4

1 回答 1

5

after_create :create_profile就够了,不需要定义create_profile方法,它由rails提供。

例子:

class User < ActiveRecord::Base
  has_one      :profile
  after_create :create_profile
end
于 2013-08-19T09:57:46.833 回答