如何使用Rack :: Builder.map映射未指定的路径?

时间:2013-09-10 19:57:49

标签: ruby rack

我知道我可以使用以下方式映射路径:

map '/' do
  run app
end

但是当我是一个未指定的路径时,我想发送一个错误页面。类似的东西:

map others do
//...
end

我试图在网上搜索Rack,但发现的信息很少。

PS。请不要让我使用Sinatra或Rails。

1 个答案:

答案 0 :(得分:1)

如果请求与任何其他映射不匹配,您可以拥有一个生成错误消息的默认应用程序:

map '/one' do
  run app1
end

map '/two' do
  run app2
end

run default_app

或者,您可以拥有/的映射,因为“URLMap dispatches in such a way that the longest paths are tried first, since they are most specific”。 (这实际上几乎相当于拥有上面的默认应用程序。)

map '/one' do
  run app1
end

map '/two' do
  run app2
end

map '/' do
  default_app
end