Ruby 红宝石和西纳特拉
我今天开始编写一个简单的Sinatra应用程序,我试图理解错误报告,但由于某些原因,我无法让它正常工作 我知道,这里讲的是如何处理错误报告/处理,但当我运行他们的示例时,我无法让它工作Ruby 红宝石和西纳特拉,ruby,sinatra,Ruby,Sinatra,我今天开始编写一个简单的Sinatra应用程序,我试图理解错误报告,但由于某些原因,我无法让它正常工作 我知道,这里讲的是如何处理错误报告/处理,但当我运行他们的示例时,我无法让它工作 require 'sinatra' error 400..510 do 'Boom' end get '/say/*' do params[:splat] end 当我在我的电脑上运行应用程序时,我得到一个404错误代码,但浏览器中不会显示“Boom”文本,只显示浏览器404页面。我肯定我做错了什么
require 'sinatra'
error 400..510 do
'Boom'
end
get '/say/*' do
params[:splat]
end
当我在我的电脑上运行应用程序时,我得到一个404错误代码,但浏览器中不会显示
“Boom”
文本,只显示浏览器404页面。我肯定我做错了什么,但就是想不出来。我敢打赌这是你的浏览器。在我的MacBook Pro上:
Chrome“helpfully”显示一个“Oops!此链接似乎已断开。”页面
Safari显示预期的Boom
文本
Firefox显示预期的
Boom
文本。似乎Sinatra将Sinatra::NotFound异常(404)抛出给特定的处理程序。只需按如下方式修改代码
require 'sinatra'
not_found do
'Boom in NOT_FOUND.'
end
error 400..510 do
'Boom'
end
get '/say/*' do
params[:splat]
end
它在Mac OSX上的Chrome和Firefox中运行良好。谢谢!很奇怪Chrome会这么做。。。哦,好吧,回到使用FF进行Sinatra测试;)