gpt4 book ai didi

ruby-on-rails - 用户未通过身份验证时重新路由自定义路由(Devise、rails gem)

转载 作者:行者123 更新时间:2023-12-04 02:00:17 25 4
gpt4 key购买 nike

我想将未经身份验证的用户重新路由到我的登录页面,假设我的路由是 http://localhost:3000/users/sign_in 又名 devise/sessions#new 现在默认情况下,devise 将在未登录时编辑页面,因为这是内置的。但是,如果您未登录,任何自定义路由都会破坏应用程序,因为它不是 devise 重新路由的一部分。如果未登录,如何将这些路由设置为重新路由?直接引用下面的设计,我仍然不知道如何用我的路由实现它,代码应该是什么样的?

进入库

  class CustomFailure < Devise::FailureApp
def redirect_url
new_user_session_url(:subdomain => 'secure')
end

# You need to override respond to eliminate recall
def respond
if http_auth?
http_auth
else
redirect
end
end
end
And add the following in config/initializers/devise.rb:

config.warden do |manager|
manager.failure_app = CustomFailure
end

进入初始化器

 config.warden do |manager|
manager.failure_app = CustomFailure
end

最佳答案

您可以在您的 routes.rb

中尝试这样的操作
authenticated :user do
devise_scope :user do
root to: "dashboard#index"
end
end

unauthenticated do
devise_scope :user do
root to: "homepage#index"
end
end

关于ruby-on-rails - 用户未通过身份验证时重新路由自定义路由(Devise、rails gem),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37427953/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com