Я пытаюсь настроить Devise так, чтобы всякий раз, когда пользователь, у которого учетная запись не была подтверждена, входит в систему, он перенаправляется на new_confirmation_path
.
Это то, что я получил до сих пор:Rails, Devise: DoubleRenderError in FailureApp
Библиотека/custom_failure.rb
class CustomFailure < Devise::FailureApp
def redirect_url
if warden_message == :unconfirmed
redirect_to new_user_confirmation_path(q: "unconfirmed")
else
super
end
end
def respond
if http_auth?
http_auth
else
redirect
end
end
end
конфигурации/application.rb
config.autoload_paths << Rails.root.join('lib')
конфигурации/Инициализаторы/DEViSE .rb
config.warden do |manager|
manager.failure_app = CustomFailure
end
К сожалению, я получаю следующее сообщение об ошибке, когда пользователь пытается войти в систему:
AbstractController :: DoubleRenderError пользователей :: SessionsController # создать
Рендер и/или перенаправлять назывались несколько раз в этом действие. Обратите внимание, что вы можете вызывать только рендер или перенаправление, и не более одного раза за действие. Также обратите внимание, что ни перенаправление, ни рендер не завершают выполнение действия, поэтому, если вы хотите выйти из действия после перенаправления, вам нужно сделать что-то вроде «redirect_to (...) и return».
Ошибка в Lib/custom_failure.rb (около линии № 15)
Я после этого Devise Wiki Page