我有以下型号:
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
,所以教授对象似乎不知道他的相关用户是什么。
有关如何解决此问题的任何提示?
答案 0 :(得分:0)
您不需要:
def create_professor
self.professor = Professor.create
end
由于create_professor是由您的关联创建的。