#ruby-on-rails #devise #ruby-on-rails-6
#ruby-on-rails #разработка #ruby-on-rails-6
Вопрос:
Есть ли какой-либо простой / собственный способ отображения того, когда пользователь был в сети в последний раз на странице своего профиля, используя стандартное приложение rails, использующее devise для аутентификации?
Самое близкое, что я могу получить, это
<%= @user.current_sign_in_at.to_s %>
Это показывает, когда в последний раз происходил вход (который может значительно отличаться от последнего раза, когда пользователь проверял сайт, т. Е. Когда он в последний раз был, так сказать, «онлайн»). Например, я хотел бы показать небольшой зеленый свет, если пользователь использовал сайт в любое время в течение последних 90 секунд, но это будет неточно, если использовать время их последнего входа в систему.
Ответ №1:
Добавьте столбец в таблицу пользователей last_seen_at
и обновляйте его каждый раз, используя touch.
class ApplicationController
before_action :record_last_seen_at
private
def record_last_seen_at
if current_user
current_user.touch :last_seen_at
end
end
end