Ruby on rails 使用Desive时,如何将用户重定向到注册路径而不是登录路径
我尝试过覆盖authenticate_user方法,但它似乎会导致无限循环除非您知道自己在做什么,否则不应该弄乱designe文件。你应该使用Ruby on rails 使用Desive时,如何将用户重定向到注册路径而不是登录路径,ruby-on-rails,ruby,ruby-on-rails-4,Ruby On Rails,Ruby,Ruby On Rails 4,我尝试过覆盖authenticate_user方法,但它似乎会导致无限循环除非您知道自己在做什么,否则不应该弄乱designe文件。你应该使用 如果当前用户 某物 其他的 链接到“加入”,新用户注册路径除非您知道自己在做什么,否则不应该弄乱设计文件。你应该使用 if user.activated? && user.authenticated?(:activation, params[:id]) user.activate log_in user
如果当前用户
某物
其他的
链接到“加入”,新用户注册路径
除非您知道自己在做什么,否则不应该弄乱设计文件。你应该使用
if user.activated? && user.authenticated?(:activation, params[:id])
user.activate
log_in user
flash[:success] = "Account activated!"
redirect_to user
else
flash[:danger] = "Invalid activation link"
redirect_to root_url
end
如果当前用户
某物
其他的
链接到“加入”,新用户注册路径
您可以按如下方式轻松完成此操作:
if user.activated? && user.authenticated?(:activation, params[:id])
user.activate
log_in user
flash[:success] = "Account activated!"
redirect_to user
else
flash[:danger] = "Invalid activation link"
redirect_to root_url
end
添加名为authenticate\u user的方法
,如果用户未登录,则覆盖将用户重定向到注册路径的默认方法
应用程序控制器:
class ApplicationController < ActionController::Base
before_action :authenticate_user!, :unless => :devise_controller? # This prevent the infinite redirects.
protected
def authenticate_user!
if !current_user
redirect_to new_user_registration_path
end
end
end
class ApplicationController:设计控制器?#这可以防止无限重定向。
受保护的
def认证用户!
如果!当前用户
重定向到新用户注册路径
结束
结束
结束
您可以通过以下方式轻松完成此操作:
添加名为authenticate\u user的方法
,如果用户未登录,则覆盖将用户重定向到注册路径的默认方法
应用程序控制器:
class ApplicationController < ActionController::Base
before_action :authenticate_user!, :unless => :devise_controller? # This prevent the infinite redirects.
protected
def authenticate_user!
if !current_user
redirect_to new_user_registration_path
end
end
end
class ApplicationController:设计控制器?#这可以防止无限重定向。
受保护的
def认证用户!
如果!当前用户
重定向到新用户注册路径
结束
结束
结束
你能详细说明一下吗?在什么情况下,您希望将用户重定向到注册路径?能否详细说明?在什么情况下,您希望将用户重定向到注册路径?如果我希望它是全局的,该怎么办?@Edward我编辑了我的答案,使其成为全局的,检查它。如果我希望它是全局的,该怎么办?@Edward我编辑了我的答案,使其成为全局的,检查它。这完全覆盖了authenticate\u user方法,但不会与实际的方法发生冲突。这就是重点。本质上,它做同样的事情,而不涉及设计文件。这是我的思路。这完全覆盖了authenticate_user方法,但它不会影响实际的方法。这就是重点。本质上,它做同样的事情,而不涉及设计文件。那是我的思路。