Задать вопрос

Как вывести всех пользователей онлайн Ruby on Rails?

Есть чат на веб сокетах, авторизация сделана на devise, как можно вынести список всех пользователей онлайн? Через current_user не получается, видно только 1 пользователя так как метод each для него не доступен. Заранее спасибо!
  • Вопрос задан
  • 2626 просмотров
Подписаться 5 Оценить Комментировать
Решения вопроса 1
kirillplatonov
@kirillplatonov
Ruby on Rails developer
# app/controllers/application.rb
after_action :user_activity

private

def user_activity
  current_user.try :touch
end

# app/models/user.rb
ONLINE_PERIOD = 5.minutes

scope :online, -> { where('updated_at > ?', ONLINE_PERIOD.ago) }

def online?
  updated_at > ONLINE_PERIOD.ago
end

Использование:
User.online # все пользователи онлайн
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
mannaro
@mannaro
Умею профессионально гуглить
Devise нужен для авторизации и только. Пишите свой модуль.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы