我正在尝试使用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
感谢您的帮助!
答案 0 :(得分:1)
猜测你的请求网址可能有一个尾部斜杠。
Sinatra处理带有/不带尾随斜杠的网址,除非您在路线的末尾添加“/?”,如下所示:
get "/hello/?" do
'hello'
end
上面指定的路线将匹配“/ hello”和/ hello /".