0

我一定是从 Rack 的不存在的文档中遗漏了一些东西:) 我正在尝试向ruhoh添加额外的 web 服务路由,并且可以让它们工作localhost:9292/test,但是新Rack::Builder对象似乎覆盖了最后一个,因为我无法再访问默认博客位于localhost:9292/. 我已经尝试了不同的方法来定义新的路线而不声明Rack::Builder.new,但不能让任何工作。

使用此界面添加其他路由的最佳方法是什么?

require 'rack'
require 'ruhoh'

run Ruhoh::Program.preview

# Additional routes

builder = Rack::Builder.new do
  use Rack::CommonLogger
  map '/test' do
    run Proc.new {|env| [200, {"Content-Type" => "text/html"},  StringIO.new("infinity 0.1")] }
  end
end

run builder
4

1 回答 1

0

以你使用它的方式,run Ruhoh::Program.preview永远不会服务请求。

您应该将其放入构建器中:

builder = Rack::Builder.new do
  use Rack::CommonLogger
  map '/' do
    run Ruhoh::Program.preview
  end

  map '/test' do
    run Proc.new {|env| [200, {"Content-Type" => "text/html"},  StringIO.new("infinity 0.1")] }
  end
end

run builder
于 2012-12-03T16:10:06.880 回答