私はRaven
についてよく考えていませんが、下記の方法で、現在のユーザーにリクエストしてアクセスしてください。
我々は、キャッシュとして動作するクラスを作成し、挿入/現在のスレッド
class CustomCache
def self.namespace
"my_application"
end
def self.get(res)
Thread.current[self.namespace] ||= {}
val = Thread.current[self.namespace][res]
if val.nil? and block_given?
val = yield
self.set(res, val) unless val.nil?
end
return val
end
def self.set(key, value)
Thread.current[self.namespace][key] = value
end
def self.reset
Thread.current[self.namespace] = {}
end
end
からデータを取得し、要求を受信したときに、現在のセッションのためにチェックが、実行されていますその後、ユーザーのモデルは今
def current_user
if defined?(@current_user)
return @current_user
end
@current_user = current_user_session && current_user_session.record
CustomCache.set(:current_user, @current_user)
return @current_user
end
以下のようにキャッシュに挿入されている、あなたは、以下のコードを使用して、アプリケーション内のどこからでも、現在のユーザーを取得することができます
CustomCache.get(:current_user)
・ホープ、このことができます我々はまた、要求が提供される前と後にキャッシュをリセットするようにしてください、私たちはこれを行う、
CustomCache.reset
。 Railsのアプリのために
これは興味深いようです。 Deviseがミドルウェアで使用できるcurrent_userメソッドを持っているのかどうか疑問に思っていました。 – rohitmishra