一种从引擎到应用程序添加before_filter的方法

blu*_*ank 5 plugins module ruby-on-rails rails-engines ruby-on-rails-3

没有很多具体的代码,这只是模糊的,但我会尽我所能.

给定一个rails引擎,一个基本引擎而不是自己空间中的可安装引擎,如何将应用程序中的方法作为应用程序控制器的before_filter提供给应用程序?

我一直在查看Devise代码,因为我想要的是与我对Devise的经历相似,但我承认我并不理解我所经历的很多内容.

我可以这样做,如果我把include Myengine::Mymodule应用程序控制器放在我想要的方法可用于过滤,但我希望可以只使用方法而不必包括模块.

这是尝试将rails应用程序转换为多个rails应用程序使用的引擎的最新障碍,并且对获取正确命名空间,模块配置等的任何指导表示赞赏.

Dmi*_*mov 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
Run Code Online (Sandbox Code Playgroud)