nil的未定义方法`create':尝试在用户模型中创建配置文件时为NilClass

时间:2013-08-19 09:47:32

标签: ruby-on-rails ruby-on-rails-3

我搜索并找到了这个Rails 3 undefined method `create' for nil:NilClass error while trying create a related object但是这个解决方案也给出了错误 - 堆栈级别太深,因此在SO上询问它。

我有一个带有belongs_to和has_one关系的用户模型和个人资料模型。

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

after_create :create_profile

def create_profile
  self.profile.create
end

但是这给了"未定义的方法`create'为零:NilClass"在self.profile.create行。用户也没有被创建,也没有创建配置文件

1 个答案:

答案 0 :(得分:3)

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

示例:

class User < ActiveRecord::Base
  has_one      :profile
  after_create :create_profile
end