Куда вы кладете файлы промежуточного программного обеспечения Rack и требует?
Я нахожусь в процессе рефакторинга некоторой логики, встроенной в приложение Rails, в промежуточное ПО, и одна неприятность, с которой я столкнулся, - это кажущееся отсутствие соглашения о том, где их размещать.
В настоящее время я остановился на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
(или драгоценный камень, указанный вGemfile
) и требуются и загружаются вconfig.ru
.