Я работаю над приложением электронной коммерции.Когда пользователь входит в мое приложение, я хочу проверить мой внешний обработчик подписки и убедиться, что его подписка все еще активна и не истекла / не удалась / что угодно.
Я успешно выяснил, как использоватьЗащитите обратный вызов в моем initializers/devise.rb
, чтобы выполнить проверку модели после входа в систему.Однако, если есть проблема, я хочу снова выйти из системы и перенаправить на определенную страницу, которая говорит им, что делать дальше.
Вот что у меня есть.Я знаю, что не могу использовать redirect_to
от обратного вызова.Учитывая это, как лучше всего делать то, что я пытаюсь сделать?
Warden::Manager.after_authentication do |user, auth, opts|
begin
user.check_active_subscription # this works, and will raise one of several exceptions if something is goofy
rescue
redirect_to "/account/expired" # obviously this won't work, but see what I'm trying to do?
end
end