我目前的/users/sign_in
路径与/home/all
匹配。因此,每次用户查找/users/sign_in
时,他/她都会被带到/home/all
。现在发生的情况是,如果用户输入了错误的用户名或密码,他/她会在/users/sign_in
上显示错误消息。我想知道如何显示消息/home/all
?
这是我的路线
get "/users/sign_in" => redirect('/home/all')
答案 0 :(得分:1)
您可以保留路线。并在app下创建一个文件夹classes
(app / classes)。然后有类似
<强> /app/classes/custom_failure.rb 强>
class CustomFailure < Devise::FailureApp
def redirect_url
home_all_path
end
# override the response call
def respond
if http_auth?
http_auth
else
redirect
end
end
end
如果您希望可以自定义/config/locales/devise.en.yml
下的Flash消息。
最后,请务必将以下代码添加到
<强> /config/initializers/devise.rb 强>
config.warden do |manager|
manager.failure_app = CustomFailure
end
你现在应该全部准备好了。