我在我的Sinatra应用程序中做了以下操作:
disable :show_exceptions
disable :raise_errors
error do
haml :error, :locals => {:error_message => request.env['sinatra.error'].to_s}
end
get '/error' do
raise "ERROR!!"
end
如果我访问 /error
,我会得到一个 500 - 内部服务器错误
的响应代码,这是好的和想要的。但是我应该如何将代码更改为404或501之类的呢?
答案:
disable :show_exceptions
disable :raise_errors
get '/error' do
halt(404,haml(:error, :locals => {:error_message => request.env['sinatra.error'].to_s}))
end
halt 状态码, 响应体
即可 ;) - le_me