我目前的/users/sign_in
路径匹配到/home/all
. 所以每次用户寻找/users/sign_in
他/她都会被带到/home/all
. 现在发生的情况是,如果用户输入了错误的用户名或密码,他/她会在/users/sign_in
. 我想知道如何显示消息/home/all
?
这是我的路线
get "/users/sign_in" => redirect('/home/all')
我目前的/users/sign_in
路径匹配到/home/all
. 所以每次用户寻找/users/sign_in
他/她都会被带到/home/all
. 现在发生的情况是,如果用户输入了错误的用户名或密码,他/她会在/users/sign_in
. 我想知道如何显示消息/home/all
?
这是我的路线
get "/users/sign_in" => redirect('/home/all')
您可以将路线保持原样。并在 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
如果您愿意,您可以在 下自定义 Flash 消息/config/locales/devise.en.yml
。
最后,确保将以下代码添加到
/config/initializers/devise.rb
config.warden do |manager|
manager.failure_app = CustomFailure
end
你现在应该准备好了。