Это было некоторое время назад.Когда я реализовал after_authentication и before_logout, я получил несколько записей, очень странно.
Чтобы пояснить, что я хотел хранить ip и т. Д. На каждой сессии, а не только на последней сессии.
Я решил это, добавивв конфиге / инициализаторах / devise.rb.Добавьте код для того, что вы хотите сохранить о сессии.
Warden::Manager.after_authentication do |user,auth,opts|
#store what ever you want on login
end
Warden::Manager.before_logout do |user,auth,opts|
# store what ever you want on logout
# If not in initializer it will generate two records (strange)
end