странная ошибка / поведение перехватывает Devise / Warden - PullRequest
0 голосов
/ 11 октября 2011

Я реализовал код в Разработать обратные вызовы в моем контроллере приложения. Прежде всего, это правильное место?

Я получаю оба

after_authentication 

и

after_set_user

на работу. Но я получаю эту ошибку для

before_logout

NoMethodError in Devise::SessionsController#destroy
undefined method `update_attribute' for nil:NilClass

Самое смешное, что запись базы данных обновляется, несмотря на сообщение об ошибке. Странно.

1 Ответ

0 голосов
/ 21 марта 2012

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