【发布时间】:2010-04-21 21:17:25
【问题描述】:
这对我来说一直是个问题,因为 rails 没有像 java 框架那样的会话跟踪机制,你使用什么方法来跟踪当前登录你网站的人?我使用一种简单的方法,每次用户单击网站上的某个位置时,使用当前时间设置 last_visited 字段,然后检查在(假设)过去 10 分钟内更新了该字段的用户。除了这个,还有什么方法?
【问题讨论】:
标签: ruby-on-rails session tracking auditing
这对我来说一直是个问题,因为 rails 没有像 java 框架那样的会话跟踪机制,你使用什么方法来跟踪当前登录你网站的人?我使用一种简单的方法,每次用户单击网站上的某个位置时,使用当前时间设置 last_visited 字段,然后检查在(假设)过去 10 分钟内更新了该字段的用户。除了这个,还有什么方法?
【问题讨论】:
标签: ruby-on-rails session tracking auditing
如果您在会话中使用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
【讨论】: