这对我来说总是一个问题,因为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