5

我有以下型号:

class User < ActiveRecord::Base
  extend FriendlyId
  friendly_id :first_name, :use => :slugged

  has_one :professor
  after_create :create_professor

  def create_professor
    self.professor = Professor.create 
  end

end 

class Professor < ActiveRecord::Base
  extend FriendlyId
  friendly_id :first_name, :use => :slugged

  belongs_to :user
  def first_name
    user.first_name 
  end

end

create_professor被调用并因此执行传递到教授模型(self.professor = Professor.create)时,当它开始尝试在此方法中创建slug时:

def first_name
  user.first_name 
end

我得到一个undefined method first_name for nil:NilClass,所以教授对象似乎不知道他的关联用户是什么。

关于如何解决这个问题的任何提示?

4

1 回答 1

0

你不需要:

  def create_professor
    self.professor = Professor.create 
  end

由于 create_professor 是由您的协会创建的。

于 2013-08-30T16:03:46.790 回答