私は、Rails アプリケーションに組み込まれたいくつかのロジックをミドルウェアにリファクタリングしている最中です。私が遭遇した 1 つの煩わしさは、それらを配置する場所に関する規則がないように見えることです。
現在、私は落ち着いてapp/middleware
いますが、同じように簡単に移動することもできvendor/middleware
ますvendor/plugins/middleware
...
最大の問題は、先頭にある個々のファイルを要求する必要があることです。config/environment.rb
require "app/middleware/system_message"
require "app/middleware/rack_backstage"
そうしないと、行で初期化されていない定数エラーが発生しconfig.middleware.use
ます。それは非常にすぐに面倒になる可能性があります。これはどこかのイニシャライザに隠れていたほうがいいです。
このようなものを置く従来の場所はありますか?
この報奨金で私が探している具体的な答えは次のとおりです。require 行をどこに配置すれば、environment.rb ファイルが乱雑にならず、config.middleware.use 呼び出しの前にロードされるようになりますか? 私が試したことはすべて、初期化されていない一定のエラーにつながります。
更新: Rails 3.0 を使用するようになったので、Rails アプリを他の Rack アプリと同じように扱います。ミドルウェアのコード ファイルlib
(または にリストされている gem Gemfile
) に入り、 で必要とされて読み込まれconfig.ru
ます。