2009-08-22 8 views
6

Authlogic gemを使用してRailsのセッションオブジェクトからユーザーIDにアクセスする方法を知っている人はいませんか?セッションオブジェクト内のユーザーIDにアクセスするAuthlogic

私はユーザーに固有のキャッシュ・フラグメントを期限切れに走る掃除を持っている:

def expire_cache_for(record) 
    ActiveRecord::Base.logger.debug "team: #{record.team_id}" 
    ActiveRecord::Base.logger.debug("User: #{session}") 

    # Expire a fragment 
    expire_fragment(:controller => 'groups', :action => "team_#{record.team_id}_user_#{current_user.id}") 
    end 

は、どのように私はAuthlogicを使用してフラグメントを期限切れに私の掃除からユーザーIDにアクセスすることができますか?

答えて

13

あなたは(Authlogicから派生または何でもあなたが追加したモデル::セッション::ベース)あなたのUserSessionモデルを使用してこれを行うことができるはず:

current_user = UserSession.find 
id = current_user && current_user.record.id 
+0

感謝!これも助けてくれました –

+0

UserSession.findはUserオブジェクトではなくUserSessionオブジェクトを返しますか?現在のユーザーはUserSession.find.user –

+1

John Pignataが正しいでしょう。セッションはacts_as_authenticモデルを変数レコードに格納します。これはacts_as_authenticモデルの名前に関係なく同じです。 –

関連する問題