0

テーブル Tasks の inspector_id を現在のユーザーの employee_id で更新したいと思います。しかし、モデルでは current_user にアクセスできません。

これは、Task モデルで使用しようとしているコードです。

before_update :update_inspector

protected
 def update_inspector
  self.inspector_id = current_user.employee
 end

私は得る:

NameError (undefined local variable or method `current_user' 
4

2 に答える 2

1

通常、current_user はアプリケーション コントローラで定義されます。これは、メソッドがモデルではなくコントローラー内でのみ使用できることを意味します。表示されているエラーは、その状況と一致しています。Task モデルで current_user が必要な場合は、それをどこかに渡す必要があります。

于 2013-03-28T17:38:10.517 に答える
0

モデル内で current_user 変数を構築したセッション情報にいつでもアクセスできます。

于 2013-03-28T17:42:44.047 に答える