2009-08-22 23 views
6

Tôi đã tự hỏi liệu có ai biết cách tôi có thể truy cập ID người dùng từ đối tượng phiên trong Rails bằng cách sử dụng đá quý Authlogic không?Tự động truy cập id người dùng trong đối tượng phiên

Tôi có một hậu vệ quét chạy hết hạn một đoạn bộ nhớ cache cụ thể cho một người sử dụng:

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 

Làm thế nào tôi có thể truy cập vào ID người dùng từ quét của tôi sắp hết hạn sử dụng đoạn Authlogic?

Trả lời

13

Bạn sẽ có thể làm điều này bằng cách sử dụng mô hình của bạn UserSession (hoặc bất kỳ mô hình mà bạn đã thêm rằng xuất phát từ Authlogic :: phiên :: Base):

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

cảm ơn! Điều này đã giúp tôi quá –

+0

Không UserSession.find trả về một đối tượng UserSession và không phải là một đối tượng người dùng? người dùng hiện tại sẽ là UserSession.find.user –

+1

John Pignata là chính xác. Phiên lưu trữ mô hình actions_as_authentic trong một bản ghi biến, giống như bất kể tên của mô hình actions_as_authentic. –

Các vấn đề liên quan