私の Rails 3.2 アプリケーションでは、特定のクラス タイプのミドルウェア インスタンスでメソッドを呼び出す必要があります。
使用しようとしましたが、インスタンスではなくミドルウェアクラスRails.application.middleware
のみをラップするため、機能しません。
Rails.application.app
現在、 Ruby のinstance_variable_get
andを使用してミドルウェア チェーンを歩いてis_a?
いますが、特にミドルウェアがコンテキストを保存する方法が指定されていないため、それは正しくありません。たとえばRack::Cache::Context
、次のインスタンスを呼び出される変数に格納しますが、@backend
他のほとんどのインスタンスは を使用します@app
。
ミドルウェア インスタンスを見つけるより良い方法はありますか?