对我来说这总是一个问题,因为rails没有像java框架那样的会话跟踪机制,你用什么方法来跟踪你当前在你网站上登录的人?我使用一种简单的方法,每当用户点击网站上的某个位置时,使用当前时间设置last_visited字段,然后检查已经更新该字段的用户(比如说)最后10分钟。除了这个之外还有哪些其他方法?
答案 0 :(得分: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