Я занимаюсь реорганизацией некоторой логики, встроенной в приложение Rails, в промежуточное программное обеспечение, и одно раздражение, с которым я столкнулся, - это кажущееся отсутствие договоренности о том, где их разместить.Где вы размещаете файлы промежуточного программного обеспечения стойки и требуете?
В настоящее время я остановился на app/middleware
, но я мог бы так же легко переместить его в vendor/middleware
или, может быть vendor/plugins/middleware
...
Самая большая проблема того, чтобы требовать от отдельных файлов в верхней части config/environment.rb
require "app/middleware/system_message"
require "app/middleware/rack_backstage"
или я получаю неинициализированные постоянные ошибки на линиях config.middleware.use
. Это может стать очень беспорядочным. Я бы предпочел, чтобы это было спрятано в инициализаторе.
Есть ли обычное место для размещения этого материала?
Конкретный ответ я ищу с этой щедростью является: , где я могу поставить требуют линии так, чтобы они не захламление файл environment.rb, но все еще напиваться до config.middleware.use звонки? Все, что я пробовал, приводит к неинициализированным постоянным ошибкам.
Update: Теперь, когда мы используем Rails 3.0, я лечу приложение Rails, как и любое другое приложение Rack; файлы кода для промежуточного программного обеспечения перейдите в lib
(или драгоценный камень, указанный в Gemfile
), и требуются и загружаются в config.ru
.
Спасибо, я буду помнить об этом, когда обновляюсь. –
Не могли бы вы добавить любую ссылку для справки? Это не работает из коробки для меня и Google/Rails руководства не помогают ... спасибо! – dgilperez
Я получил эту работу из коробки, после того как понял, что сделал тупую ошибку размещения ее в корневой папке вместо (уже указанной) папки приложения. Итак, foo_app/app/middleware/file.rb. – d3vkit