2011-01-31 2 views
5

私のアプリ認証のための開発では、モデルからcurrent_userにアクセスすることに問題が発生します。私はコントローラからこれにアクセスすることに問題はない。モデルからのdevise current_userへのアクセス方法

私のシナリオでは、誰がブログ投稿を編集したかを追跡するために、現在のユーザーIDを取得する必要があります。これは、before_saveフィルターでユーザーIDを保存します。

ありがとうございました!

ありがとうございました

答えて

3

パラメータで渡すことができます。コントローラで

class SomeModel 
    def my_nifty_method(user) 
    end 
end 

class SomeModelsController < ApplicationController 
    def some_method 
    sm = SomeModel.new 
    sm.my_nifty_method(current_user) 
    end 
end 
-1

は、あなたのモデルでこれを行うことができるはずです。 'c'はモデルオブジェクトで、作成する前にuser_id属性を設定するか、ケースに保存します。

before_create {|c| c.user_id = Authorization.current_user.id} 

私はRoRに多少なりとも注意が必要です。

-5

なぜモデル内のそのメソッドにアクセスしようとしていますか? ID属性にはself.id(モデル内)でアクセスできます

+0

なぜ否定的な投票をすることができますか? – eveevans

+1

'self.id'は現在のインスタンスのIDを返します。現在のユーザーIDは –

+0

はいです。質問には「..私は現在のユーザーIDを取得する必要があります。」と表示されます。 – eveevans

関連する問題