【发布时间】:2012-07-15 01:29:14
【问题描述】:
我有以下型号:
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,所以教授对象似乎不知道他的关联用户是什么。
关于如何解决这个问题的任何提示?
【问题讨论】:
-
试试
self.professor.create而不是self.professor = Professor.create
标签: ruby-on-rails associations friendly-id after-create