如何在Rails中跟踪在线用户?

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

如果您正在为会话使用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