2014-07-17 7 views
5

Also, gehen Sie zu http://localhost:3000/%ED wird werfen.Handhabung von Rails ActionController :: BadRequest

Aber was ich wirklich will, wenn eine 404-Seite (wie die meisten Websites) zurückgeben.

Zum Beispiel Twitter werden sagen:

ungültige Unicode-Wert in einem oder mehreren Parametern /% ED

Und ich mich, dass in der Entwicklung (und eine 500-Fehlerseite in der Produktion) :

going to localhost:3000/%ED

habe ich versucht, die offensichtliche rescue_from aber der Fehler noch nicht einmal i t meine Anwendung, wie sie im Routing-Stack ausgelöst wird.

Irgendeine Idee? Ich habe über eine Middleware nachgedacht, weiß aber nicht, wie ich das machen würde?

+0

Was Sie wollen, ist umleiten zu einer 404-Seite in routes.rb. Das könnte helfen: http://stackoverflow.com/questions/19653761/how-redirect-to-404-page-in-routes-rb –

+0

Danke, also muss ich 'config.exceptions_app = self.routes' verwenden? Aber woher weiß ich dann, dass ich eine 404 oder 500 bekommen habe? Und wird es immer noch die Ausnahme melden? Auch das kann eine schlechte Idee sein, als ob es einen Fehler in meiner Anwendung gibt, der Versuch, meine Anwendung zu verwenden, kann noch mehr Fehler erzeugen? – Dorian

+0

Ich habe eine Antwort auf eine ähnliche Frage hier hinzugefügt: http://stackoverflow.com/a/26227688/516820 im Grunde habe ich eine Middleware, die den Fehler abfängt und eine '400' Fehlerseite zurückgibt. – complistic

Antwort

Verwandte Themen