Как отслеживать онлайн-пользователей в Rails? - PullRequest
6 голосов
/ 25 февраля 2009

Это всегда было проблемой для меня, поскольку у rails нет некоторых механизмов для отслеживания сеансов, как в java-фреймворках, какие методы вы используете для отслеживания того, кто в данный момент зарегистрирован на вашем сайте? Я использую простой метод, устанавливая поле last_visited с текущим временем каждый раз, когда пользователь нажимает где-то на сайте, а затем проверяю пользователей, которые обновили это поле в течение (скажем, 10) последних минут. Какие есть еще методы кроме этого?

1 Ответ

5 голосов
/ 25 февраля 2009

Если вы используете 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
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...