【问题标题】:More control over middleware ordering via Railtie?通过 Railtie 更好地控制中间件排序?
【发布时间】:2012-05-12 21:25:15
【问题描述】:

有些gem/库可以从更好地控制它们注入中间件的位置中受益。

如果异常处理中间件位于堆栈的顶部,那就太好了。

有没有办法做到这一点,还是只能通过编辑config.ru来完成?

【问题讨论】:

    标签: ruby-on-rails ruby rack middleware


    【解决方案1】:

    不确定这是不是你需要的:http://api.rubyonrails.org/classes/Rails/Configuration/MiddlewareStackProxy.html

    可以做到以下几点:

    config.middleware.insert_before Rack::Head, Magical::Unicorns
    config.middleware.insert_after Rack::Head, Magical::Unicorns
    config.middleware.swap ActionDispatch::Flash, Magical::Unicorns
    config.middleware.delete ActionDispatch::Flash
    

    您可以只定义 Railtie 并操纵中间件。

    【讨论】:

      【解决方案2】:

      除了手动排序中间件堆栈外,目前没有其他方法可以做到这一点。我见过一个 hack,你可以用猴子补丁 Rack::Builder 为你提供一些推送/弹出功能。

      https://github.com/joshbuddy/rack-capabilities

      【讨论】:

        猜你喜欢
        • 2019-07-26
        • 1970-01-01
        • 2010-10-10
        • 2019-07-23
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2011-10-12
        • 2016-03-06
        相关资源
        最近更新 更多