Sinatra不匹配任何网址?

时间:2014-10-14 09:25:34

标签: ruby sinatra

我正在尝试使用Ruby和一些初学者教程来运行Sinatra。 Sinatra在'/'请求上运行正常,但是对它的任何扩展似乎打破了它并返回错误消息'Sinatra不知道这个小曲。在'/ xxx'之后我放的东西似乎并不重要,一切都失败了。

这是我的代码,config.ru:

require 'sinatra'
get '/' do
  "Root"
end
get "/hello" do
    "hello"
end

以下是服务器的说法:

127.0.0.1 - - [14/Oct/2014 20:20:53] "GET / HTTP/1.1" 200 10 0.0016
127.0.0.1 - - [14/Oct/2014 20:20:57] "GET /hello HTTP/1.1" 404 442 0.0010
127.0.0.1 - - [14/Oct/2014 20:20:57] "GET /__sinatra__/404.png HTTP/1.1" 304 - 0.0017

感谢您的帮助!

1 个答案:

答案 0 :(得分:1)

猜测你的请求网址可能有一个尾部斜杠。

Sinatra处理带有/不带尾随斜杠的网址,除非您在路线的末尾添加“/?”,如下所示:

get "/hello/?" do
  'hello'
end

上面指定的路线将匹配“/ hello”和/ hello /".