10

私はdeviseを使用していますが、最近管理者を管理するadmin_usersの別のテーブルを作成したアクティブな管理者を追加しました。Active Adminを使用してフィルタをスキップする

ログインしてブラウズしようとすると、Active Adminですべて正常に動作します。しかし、私のアプリケーションのコントローラは、一般的なユーザーのためにこれを持っている:

before_filter :authenticate_user!, :except => [:show, :index] 

このため、私は何かを編集または削除しようとするたびに、アクティブな管理インタフェース内で、それがログインするために私に尋ねたとき、私はskip_before_filterことを学びました。 before_filterを除外する必要があるコントローラーの内部で使用することができますが、Active Adminにはコントローラー・フォルダーがありません。

誰でもアクティブな管理者がクライアント/ユーザーに直面しているすべてのアプリケーションに適用したいアプリケーションbeofre_filterを無視する方法を提案できますか?

次を追加することができます config/initializers/active_admin.rb

答えて

33

config.skip_before_filter :authenticate_user! 

ます。またActiveAdminコントローラを変更するために提供するDSL使用することができます:私は仕事にcoreywardのソリューション@得ることができませんでしたhttp://activeadmin.info/docs/8-custom-actions.html#modify_the_controller

+0

パーフェクト!ありがとう – alik

+0

何らかの理由で、イニシャライザファイルの行が私のために働いていません。そして私は確信していません。 。どのファイルにActiveAdminコントローラを変更するコードを追加しますか? – John

+0

@John初期化子を変更した後でアプリを再起動し、管理者定義ファイル(admin/post.rb)内でコントローラを変更するDSLを使用できることを確認してください。 – coreyward

3

を、しかし編集config/application.rbthis Devise postあたりや追加など:

ActiveAdmin.register_page "Dashboard" do 
    controller do 
     skip_before_filter :name_of_filter_to_skip 
    end 

    # Other code 
end 

をします210はそのトリックをしました。 config/application.rbだけを編集するだけでは機能しませんでした。サーバーを再起動してください!

+0

設定手順では、すべてのRESOURCEコントローラに設定が追加されているので、ダッシュボードはそのリスト...直接/ admin/some_resouceに行くのはまだ私のためにものをスキップする...そうです、これはコアywardのソリューションに加えて必要です – fringd

1

コアリーとスーイの両方が正しいですが、部分的にのみ、毛布を止めるためにauthorize_user! ...あなたはその答えの両方を実装する必要がありactive_admin

設定/初期化子/ active_admin.rb

config.skip_before_filter :authorize_user! 

アプリ/管理/ dashboard.rb

controller do 
    skip_before_filter :authorize_user! 
end 
+0

なぜ両方を実装する必要がありますか? –

1

に影響を与えることから、フィルタ、私は「couldn @fringdと@coreywardのソリューションを(ActiveAdmin masterブランチを使用して)Rails4で動作させるようにします。

だから、私はフィルタメソッド(私は2つのフィルタがあります。authorize_user!check_user_status)を移動した新たな懸念にして、これらのフィルタを持っていたコントローラに、この作成したモジュール(ApplicationControllerを除く、はずが含まれて清潔に保つ)。

その後、サーバーを再起動して問題を解決しました。

+0

あなたが説明したことに関心のある人にコードを追加してください – Besi

関連する問題