2009-02-25 54 views
6

這對我來說一直是一個問題,因爲rails沒有像java框架那樣的會話跟蹤的一些機制,您使用什麼方法來跟蹤當前在您的網站上登錄的人員?我使用一種簡單的方法,每次用戶在網站上點擊某處時,用當前時間設置last_visited字段,然後檢查已更新該字段的用戶(可以說)持續10分鐘。除此之外,還有其他什麼方法?如何在Rails中跟蹤在線用戶?

回答

5

如果您使用的是active_record_store你的會話,你可以嘗試這樣的事:

sessions = CGI::Session::ActiveRecordStore::Session.find(:all, :conditions => ["updated_at >= ?", 15.minutes.ago], :order => "created_at ASC") 
sessions.each do |session| 
    if session.data[:user] 
    online_users << User.find(session.data[:user]) 
    end 
end 
+1

這是很好的解決方案,但我使用基於Cookie的會話。 – Vortex 2009-03-02 03:10:34