2011-10-12 56 views
2

有效存儲用戶使用Devise登錄的總時間的任何建議?除了跟蹤登錄數量之外,它看起來並不像Devise有一個完成這個過程的現有流程。Rails/Devise:確定用戶登錄的總時間

謝謝!

class User < ActiveRecord::Base 

    devise :database_authenticatable, :registerable, 
     :recoverable, :rememberable, :trackable, :validatable, :timeoutable 

end 

回答

3

需要回答的問題是「您怎麼知道用戶何時退出?」。

在簡單情況下,用戶單擊註銷鏈接。然後,您可以在銷燬用戶會話期間獲取該事件的時間戳。將可跟蹤時間戳與用戶會話銷燬時間戳進行簡單比較將爲您提供總時間。

但是,如果用戶只是關閉與您的應用程序運行的選項卡/窗口/瀏覽器會發生什麼?該用戶是否自動註銷?有沒有一個cookie設置讓用戶無需登錄就能返回?如果是這樣,在應用中重新打開頁面意味着用戶在3天后仍然登錄?

一旦你想出這些問題的答案,我認爲一種方法會讓你自己看到。

希望這會有所幫助。