我尝试覆盖authenticate_user方法但似乎导致无限循环
答案 0 :(得分:0)
除非你知道自己在做什么,否则不应该破坏设计文件。你应该使用
if current_user
something
else
link_to "Join up", new_user_registration_path
答案 1 :(得分:0)
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
答案 2 :(得分:0)
您可以轻松完成以下操作:
添加名为authenticate_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