7
我有400個狀態碼自定義錯誤消息設置狀態代碼:在Sinatra的自定義錯誤塊
get '/do' do
raise ParamXMissingError unless params['x']
end
error ParamXMissingError do
haml :custom_error_page
end
我想ParamXMissingError爲400,但是當我運行上面的代碼,並檢查通過Firefox的網絡工具,看起來Sinatra實際上是返回500,而不是400.我如何讓它顯示custom_error_page.haml
並返回400?
最好能夠從錯誤塊內部處理狀態碼和頁面,而不是在籌集ParamXMissingError
時撒上的東西。例如,這將是重複性的,而不是一個好的解決方案:halt 400, haml(:custom_error_page)
這不工作對我來說,做一個Ajax請求的時候,我仍然得到200S :(當然,我在一個正常的'POST'行動,雖然這樣做。 – Thermatix