【问题标题】:A way to add before_filter from engine to application一种将 before_filter 从引擎添加到应用程序的方法
【发布时间】:2011-09-06 16:44:19
【问题描述】:

没有很多具体的代码,这只是模糊,但我会提供我能提供的。

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

我一直在查看 Devise 代码,因为我想要的内容与我使用 Devise 的经验相似,但我承认我不明白我正在经历的很多内容。

如果我将include Myengine::Mymodule 放在我希望有可用于过滤的方法的应用程序控制器中,我可以做到这一点,但我希望可以只使用这些方法而不必包含模块。

这是尝试将 Rails 应用程序转变为可供多个 Rails 应用程序使用的引擎的最新障碍,感谢您提供有关正确命名空间、模块配置等方面的任何指导。

【问题讨论】:

    标签: ruby-on-rails ruby-on-rails-3 plugins module rails-engines


    【解决方案1】:

    如果我理解正确,您可以使用初始化程序,例如:

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

    【讨论】:

    • 我可以试试这个,但你能解释一下这实际上是做什么的吗?
    猜你喜欢
    • 1970-01-01
    • 2014-05-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-07-26
    • 1970-01-01
    • 1970-01-01
    • 2019-11-06
    相关资源
    最近更新 更多