有些 gems/libraries 可以从更好地控制它们注入中间件的位置中受益。
特别是如果异常处理中间件位于堆栈的顶部会很好。
有没有办法做到这一点,还是只能通过编辑 config.ru 来完成?
有些 gems/libraries 可以从更好地控制它们注入中间件的位置中受益。
特别是如果异常处理中间件位于堆栈的顶部会很好。
有没有办法做到这一点,还是只能通过编辑 config.ru 来完成?
不确定这是否需要: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 并操纵中间件。
除了手动对中间件堆栈进行排序之外,目前没有任何内在的方法可以做到这一点。我见过一个黑客,你可以用猴子修补 Rack::Builder 来为你提供一些推送/弹出功能。