在我的 Rails 3.2 应用程序中,我必须在某个类类型的中间件实例上调用一个方法。
我尝试使用Rails.application.middleware
,但这不起作用,因为它只包装中间件类而不是它们的实例。
现在我正在从Rails.application.app
使用 Ruby 的instance_variable_get
and开始走中间件链is_a?
,但这感觉不对,特别是因为没有指定的中间件存储上下文的方式。例如Rack::Cache::Context
,将下一个实例存储在一个名为的变量中@backend
,而大多数其他实例使用@app
.
有没有更好的方法来查找中间件实例?