我正在将Rails应用程序中内置的一些逻辑重构为中间件,我遇到的一个麻烦是,似乎缺少将它们放在何处的约定.
目前我已经确定了app/middleware
,但我可以很容易地将其移动到vendor/middleware
或vendor/plugins/middleware
...
最大的问题是需要将单个文件排在前config/environment.rb
位
require "app/middleware/system_message"
require "app/middleware/rack_backstage"
否则我会在config.middleware.use
行上得到未初始化的常量错误.这可能会很快变得一团糟.我宁愿把它藏在某个地方的初始值中.
有没有一个传统的地方可以放这些东西?
我用这份赏金寻找的具体答案是:where can I put the require lines so that they are not cluttering the environment.rb file but still get loaded before the config.middleware.use calls?我所try 的一切都会导致未初始化的持续错误.
Update:现在我们使用的是Rails 3.0,我对待Rails应用就像对待其他Rack 应用一样;中间件的代码文件有lib
个(或Gemfile
中列出的一个gem),在config.ru
中需要并加载.