2011-09-06 12 views
5

特定のコードがたくさんありませんが、これはあいまいですが、私ができることを提供します。エンジンからアプリケーションにbefore_filterを追加する方法

基本エンジンであり、搭載可能なエンジンではなく、独自のスペースにエンジンがある場合、アプリケーションコントローラのbefore_filterとして、アプリケーションから利用可能なメソッドを作成するにはどうすればよいですか?

私はDeviseのコードを見てきました。私がDeviseの経験と似ているからですが、私は何が起こっているのか分かりません。

include Myengine::Mymoduleを、私がフィルタリングに利用できるメソッドを持つアプリケーションコントローラに置いた場合、これを行うことができますが、モジュールを含めることなくメソッドを使うことができます。

これは、レールアプリケーションを複数のレールアプリで使用するエンジンに変えようとする最新のロードブロッキングであり、適切な名前空間、モジュール設定などでハンドルを得るためのガイダンスは高く評価されます。私が正しくあなたを理解している場合

答えて

5

あなたには、例えば、初期化子を使用することができます。

module MyEngine 
    class Engine < Rails::Engine 
     initializer "myengine.load_helpers" do 
      ActiveSupport.on_load(:action_controller) do 
       include MyEngine::Helpers 
      end 
     end 
    end 
end 
+0

を私はこれを試すことはできますが、これは実際に何を説明することができますか? – blueblank

+0

これは、感謝しました。 – blueblank

関連する問題