我想使用当前用户的employee_id更新表Tasks中的inspector_id。但是,该模型不允许我访问current_user。
这是我试图在任务模型中使用的代码。
before_update :update_inspector
protected
def update_inspector
self.inspector_id = current_user.employee
end
我明白了:
NameError (undefined local variable or method `current_user'
答案 0 :(得分:1)
通常,current_user在应用程序控制器中定义。这意味着该方法仅在控制器内部可用,而不是在模型中。您看到的错误与该事态一致。如果您需要Task模型中的current_user,则必须在某处传递它。
答案 1 :(得分:0)
您始终可以访问在模型内部构建current_user变量的会话信息。