我正在获得重定向循环。我清楚地知道为什么,用户注销,重定向到登录页面(welcome #index),用户仍然注销,我们有无限循环。
如何摆脱循环?
我读到了几个选项。
:require_login placing
内部需要登录的控制器。很容易,但很多复制粘贴,我们喜欢干燥的不要'我们?:require_login, :except => root
?我无法找到有关除外的详细信息。我在before_filter
上获得了大量点击,似乎已被弃用。skip_before_action
同样在这里,我只能找到点点滴滴:(应用程序控制器:
class ApplicationController < ActionController::Base
# Prevent CSRF attacks by raising an exception.
# For APIs, you may want to use :null_session instead.
protect_from_forgery with: :exception
helper_method :current_user
before_action :require_login
private
def current_user
@current_user ||= Dedit::User.find(session[:user_id]) if session[:user_id]
end
private
def require_login
redirect_to root_path unless current_user.present?
end
end
登录页面控制器:
class WelcomeController < ApplicationController
layout 'basic'
def index
if current_user.present? then redirect_to dedit_path end
end
end
答案 0 :(得分:0)
before_action :require_login, except: [:index]