Nob*_*ita 5 ruby-on-rails associations friendly-id after-create
我有以下型号:
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
Run Code Online (Sandbox Code Playgroud)
在create_professor调用时,因此执行传递给Professor模型(self.professor = Professor.create),当它尝试在此方法中创建slug时:
def first_name
user.first_name
end
Run Code Online (Sandbox Code Playgroud)
我得到了一个undefined method first_name for nil:NilClass,所以教授对象似乎不知道他的相关用户是什么.
关于如何解决这个问题的任何提示?
你不需要:
def create_professor
self.professor = Professor.create
end
Run Code Online (Sandbox Code Playgroud)
由于 create_professor 是由您的协会创建的。
| 归档时间: |
|
| 查看次数: |
861 次 |
| 最近记录: |