0

我在我的應用程序中安裝了Active_Admin gem,但我的應用程序中有一個篩選器,因此唯一可以訪問的頁面是登錄頁面。當我嘗試訪問active_admin頁面時,它會將我路由到我的應用程序的登錄頁面,而不是我的管理員登錄頁面。當我登錄到我的應用程序時,可以訪問active_admin登錄頁面。我的問題是我在哪裏將skip_before_filter聲明放在這個gem中?謝謝。Active_Admin路由問題

回答

0

您可以將跳過篩選器放入您的應用程序控制器中。這可能在lib/my_active_admin.rb中。然後在ApplicationControllers定義之前在applications_controller中需要'my_active_admin'。

module ActiveAdmin 
    class ResourceController < BaseController 
    before_filter :my_filter 

    protected 

    def my_filter 
     <logic here> 
    end 
    end 
end 
+0

是的,這解決了這個問題,但它也打開了我的整個應用程序。由於active_admin的控制器實際上位於gems文件夾中,因此我不知道如何爲該指定的控制器設置:except語句。有關如何在路徑C:\ Ruby193 \ lib \ ruby​​ \ gems \ 1.9.1 \ gems \ activeadmin-0.4.4 \ app \ views \ active_admin上設置except語句的任何想法。有任何想法嗎? –

+0

我已添加代碼,但無法嘗試/測試自己。它有幫助嗎? – Anil

+0

此代碼部分正確,並且有所幫助。我設置爲跳過應用程序控制器上的之前的過濾器,然後在每個其他控制器上設置之前的過濾器。我知道這是一個漫長的工作,但這個應用程序並不是很大,所以它適用於此。出於某種原因,您無法在ActiveAdmin gem中指定before濾鏡。感謝您的幫助。 –