ich eine benutzerdefinierte Fehlermeldung für 400-Statuscode haben:Einstellung Statuscode in Block Sinatras benutzerdefinierte Fehler
get '/do' do
raise ParamXMissingError unless params['x']
end
error ParamXMissingError do
haml :custom_error_page
end
I ParamXMissingError wollen 400 sein, aber wenn ich laufe den obigen Code, und prüfen Sie durch Werkzeuge Firefox Netzwerk scheint Sinatra tatsächlich 500, nicht 400 zurückzugeben. Wie kann ich die custom_error_page.haml
anzeigen lassen und 400 zurückgeben?
Vorzugsweise wäre es schön, den Statuscode und die Seite aus dem Fehlerblock heraus zu behandeln, nicht etwas, das ich beim Erhöhen von ParamXMissingError
streuen würde. Zum Beispiel wäre dies wiederholend und keine gute Lösung: halt 400, haml(:custom_error_page)
Das ist für mich nicht funktioniert, wenn eine Ajax-Anforderung zu tun, habe ich noch 200s bekommen :(Natürlich habe ich dies allerdings in einer normalen 'Post' Aktion tue.. – Thermatix