5

多くの特定のコードがなければ、これは漠然としたものですが、私ができることを提供します。

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

Deviseのコードを調べてきました。これは、Deviseでの経験と似ているためですが、私が行っていることの多くを理解していないことは認めます。

これは、フィルタリングに使用できるメソッドをアプリコントローラーに配置した場合に実行できますinclude Myengine::Mymoduleが、モジュールを含めなくてもメソッドを使用できるようにしたいと考えています。

これは、Railsアプリケーションを複数のRailsアプリで使用されるエンジンに変えようとする際の最新の障害であり、適切な名前空間、モジュール構成などを処理するためのガイダンスをいただければ幸いです。

4

1 に答える 1

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
于 2011-09-06T17:31:44.370 に答える