2016-10-03 48 views
0

當我嘗試登錄到我的Rails應用程序,我發現了以下錯誤在日誌中:過濾器鏈停止:redirect_admin渲染或重定向

I, [2016-10-03T11:44:17.136518 #13441] INFO -- : Started GET "/" for 72.238.233.104 at 2016-10-03 11:44:17 -0500 
I, [2016-10-03T11:44:17.139196 #13441] INFO -- : Processing by PagesController#home as HTML 
I, [2016-10-03T11:44:17.144634 #13441] INFO -- : Redirected to https://www.myserver.org/admin/ 
I, [2016-10-03T11:44:17.144741 #13441] INFO -- : Filter chain halted as :redirect_admin rendered or redirected 
I, [2016-10-03T11:44:17.144949 #13441] INFO -- : Completed 302 Found in 6ms (ActiveRecord: 1.8ms) 
I, [2016-10-03T11:44:17.394535 #13441] INFO -- : Started GET "/admin/" for 72.238.233.104 at 2016-10-03 11:44:17 -0500 
I, [2016-10-03T11:44:17.396819 #13441] INFO -- : Processing by RailsAdmin::MainController#dashboard as HTML 
I, [2016-10-03T11:44:17.402503 #13441] INFO -- : Redirected to https://www.myserver.org/ 
I, [2016-10-03T11:44:17.402686 #13441] INFO -- : Completed 302 Found in 6ms (ActiveRecord: 1.6ms) 
I, [2016-10-03T11:44:17.650009 #13477] INFO -- : Started GET "/" for 72.238.233.104 at 2016-10-03 11:44:17 -0500 
I, [2016-10-03T11:44:17.651967 #13477] INFO -- : Processing by PagesController#home as HTML 
I, [2016-10-03T11:44:17.657941 #13477] INFO -- : Redirected to https://www.myserver.org/admin/ 
I, [2016-10-03T11:44:17.658051 #13477] INFO -- : Filter chain halted as :redirect_admin rendered or redirected 
I, [2016-10-03T11:44:17.658498 #13477] INFO -- : Completed 302 Found in 6ms (ActiveRecord: 1.8ms) 
I, [2016-10-03T11:44:17.909178 #13483] INFO -- : Started GET "/admin/" for 72.238.233.104 at 2016-10-03 11:44:17 -0500 
I, [2016-10-03T11:44:17.911936 #13483] INFO -- : Processing by RailsAdmin::MainController#dashboard as HTML 
I, [2016-10-03T11:44:17.917690 #13483] INFO -- : Redirected to https://www.myserver.org/ 
I, [2016-10-03T11:44:17.917845 #13483] INFO -- : Completed 302 Found in 6ms (ActiveRecord: 1.9ms) 

,並在瀏覽器窗口中我得到:

The www.myserver.com page isn’t working 

www.myserver.com redirected you too many times. 
Try clearing your cookies. 
ERR_TOO_MANY_REDIRECTS 

從哪裏開始排除故障?

我使用管理的Rails_Admin寶石,設計用於驗證

謝謝!

UPDATE: 這裏是我註冊的控制器:

class Users::RegistrationsController < Devise::RegistrationsController 
before_action :get_company_and_locations, only: [:edit, :update] 

    def edit 
    @card = get_stripe_info_by_customer(current_user.company.stripe_id) 
    @last4 = @card.last4 
    @exp_month = @card.exp_month 
    @exp_year = @card.exp_year 
    end 

    # PUT /resource 
    def update 
    @user = User.find(current_user.id) 
    if @user.update_with_password(user_params) 
     sign_in @user, :bypass => true 
     redirect_to :back 
     flash[:success] = "Your profile has been updated successfully!" 
    else 
     redirect_to :back 
    end 
    end 


    private 

    def user_params 
    # NOTE: Using `strong_parameters` gem 
    params.require(:user).permit(:email, :first_name, :last_name, :phone_number, :password, :password_confirmation, :current_password, :enable_notifications, :time_zone, :avatar) 
    end 

    def sign_up_params 
    params.require(:user).permit(:email, :first_name, :last_name, :phone_number, :password, :password_confirmation, :enable_notifications, :time_zone) 
    end 

    def account_update_params 
    params.require(:user).permit(:email, :first_name, :last_name, :phone_number, :password, :password_confirmation, :current_password, :enable_notifications, :time_zone) 
    end 

    def after_inactive_sign_up_path_for(resource) 
    new_user_session_path 
    end 

end 

UPDATE: 它看起來像控制器具體到登錄的管理員是在application_controller,所以,這裏的文件:

class ApplicationController < ActionController::Base 
    include ApplicationHelper 

    protect_from_forgery with: :null_session, if: ->(controller) { controller.request.format == "application/json" } 

    before_filter :configure_permitted_parameters, if: :devise_controller? 


    before_action :authenticate_user_from_token! 
    before_action :authenticate_user! 
    before_action :redirect_admin 
    around_action :set_time_zone 


    layout :layout_by_resource 

    private 

    def redirect_admin 
    if current_user && current_user.admin? && !rails_admin_controller? && !devise_controller? 
     redirect_to rails_admin.dashboard_path 
    end 
    end 

我認爲:redirect_admin是我的問題,因爲這是日誌提到,但我做不明白爲什麼...

+0

可以通過你的控制器代碼嗎? –

+0

當然,哪個控制者@SantoshSharma?我的設計文件夾下沒有'sessions_controller'(從來沒有),只有一個'registrations'。 – Godzilla74

+0

過去您的'註冊'控制器 –

回答

0

哇...所以,完全隨機,但我決定改變我的管理員用戶的時區。現在我可以登錄了。