Используя Rails 3.2.13, я пытаюсь получить доступ к обратным вызовам Warden Manager before_logout каждый раз, когда пользователь выходит из системы, в основном я хочу сохранить время входа и выхода из системы в своей таблице базы данных user_login_logout, я уже храню время входа в систему втаблица базы данных, и я также хочу хранить время выхода из системы в той же таблице и той же строке.
Я размещаю эту логику в моей модели пользователя.когда я нажимаю logout, тогда Warden::Manager.before_logout
будет вызываться, но проблема в том, что ничего не работает, кроме Time.now
. Я хочу знать, почему я не могу получить доступ к модели user_login_logout в модели User в Warden ::Менеджер блока.Я также хочу знать, если мой код неправильный, то каково решение, как я могу получить время выхода из системы и сохранить его в таблице.
user.rb
class User < ActiveRecord::Base
has_many :user_login_logouts
Warden::Manager.before_logout do |user,auth,opts|
_logout_time = Time.now
puts _logout_time
_user_role_id = self.user_login_logouts.last.id
if _user_role_id.present?
UserLoginLogout.update_column(sign_out_at: Time.now)
end
end
Ошибка
неопределенный метод user_login_logouts