【发布时间】:2009-05-28 13:02:37
【问题描述】:
我想让MyMiddleware 在我的 Rack 应用程序中运行,但仅限于某些路径。我希望使用Rack::Builder 或至少Rack::URLMap,但我不太清楚如何使用。
这是我认为可行的,但没有:
# in my rackup file or Rails environment.rb:
map '/foo' do
use MyMiddleware, { :some => 'options' }
end
或者,更好的是,使用正则表达式:
map /^foo/ do
use MyMiddleware, { :some => 'options' }
end
但map 似乎最后需要一个应用程序;它不会仅仅依靠将控制权传回其父级。 (实际错误是“undefined method 'each' for nil:NilClass”,当 Rack 尝试将 do...end 块的末尾转换为 app 时。)
是否有中间件接受一组中间件和一个路径,并且只有在路径匹配时才运行它们?
【问题讨论】:
-
愚蠢的错字——谢谢你的纠正,AnthonyWJones! ::羞愧地低着头::
标签: ruby rack middleware