在Rails中更新中间件

有没有办法在rails中修改( 替换)中间件?

所以代替:

config.middleware.delete ::Rack::Cache config.middleware.use ::Rack::Cache, :metastore => "rails:/", :entitystore => "rails:/", :verbose => false 

我想简单地写一些像config.middleware.find!(::Rack::Cache).verbose = false

更新:这样做的原因是因为capybara-webkit在从黄瓜运行时打印了大量的消息 。

我认为对于这个特定的中间件,您可以将Rack环境选项设置为与其默认配置合并,如下所示: http : //rtomayko.github.com/rack-cache/configuration

我结束了:

  # Disable annoying Cache messages: config.action_controller.perform_caching = true config.action_dispatch.rack_cache = {:metastore => "rails:/", :entitystore => "rails:/", :verbose => false} 

这适用于我的特定情况(Rails缓存由Dragonfly使用, 不再插入 )。

我不认为有办法做我最初问过的事情。