Ich verwende Rails-API, um eine API ohne Web-Interface zu erstellen. Wenn ich Fehler bei der Entwicklung bekomme, würde ich gerne nur die Fehlermeldung und Stacktrace im Klartext sehen, ohne das ganze HTML-Wrapping. Wie überschreibe ich die globale Ausnahmebehandlung, damit der Stacktrace im Entwicklungsmodus in Nur-Text / JSON gerendert wird, und eine allgemeine Fehlermeldung in der Produktion?
Ich würde vorschlagen, dass das Einschließen des Stack-Trace in den Produktionscode aus Sicherheitsgründen wahrscheinlich keine gute Idee ist.
So würde ich es machen:
%Vor%Ich hoffe, das hilft.
Nach Sams Klarstellung kann ich hinzufügen:
In Ihrem Basis-Controller für Ihre API (wahrscheinlich ApplicationController):
%Vor%Vorbehalt: Sie möchten vielleicht nicht von jeder einzelnen Ausnahme auf diese Weise retten, aber so würden Sie es tun, wenn Sie es tun würden.
Einige Verbesserungen gegenüber @donleyp antworten, um eine saubere Ablaufverfolgung in Rails 3.2 zu erhalten und allgemeine Fehlerinformationen in der Produktion auszugeben:
%Vor%Tags und Links ruby ruby-on-rails rails-api