在Rails中更新中间件

时间:2012-01-09 22:27:00

标签: ruby-on-rails ruby rack middleware

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

所以而不是:

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 prints tons of messages

2 个答案:

答案 0 :(得分:1)

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

答案 1 :(得分:1)

我最终得到了:

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

这适用于我的特定情况(Rails缓存由Dragonfly and wasn't inserted anymore使用)。

我不认为有办法做我原先问过的事。