Следуя различным другим советам, я создал класс CustomFailure, который успешно перенаправляет меня обратно на страницу root после неудачной аутентификации. Я использую параметр error_login => 1 для отображения сообщения пользователю. Но как я могу отличить неудачный вход в систему из-за неверного имени пользователя / пароля и неудачной аутентификации из-за того, что не вошел в систему вообще? В моем случае ниже я мог бы использовать «error_login => 1» для отображения сообщения, если он вообще не вошел в систему, и «error_login => 2» для отображения другого сообщения, если были введены неправильные имя пользователя / пароль.
class CustomFailure < Devise::FailureApp
def redirect_url
root_path(:error_login => "1")
end
def respond
if http_auth?
http_auth
else
redirect
end
end
end