Zweck von "Consider_all_requests_local" in config / environment / development.rb?

94

Was ist der Zweck dieser Rails-Konfigurationseinstellung ...

config.action_controller.consider_all_requests_local = true

In ist es standardmäßig auf true gesetzt config/environments/development.rb.

Vielen Dank,

Ethan

Ethan
quelle
12
config.consider_all_requests_local=
Nebenbei

Antworten:

123

Nicht lokale Anforderungen führen zu benutzerfreundlichen Fehlerseiten. Bei lokalen Anforderungen, von denen angenommen wird, dass sie von Entwicklern stammen, wird eine nützlichere Fehlermeldung angezeigt, die Zeilennummern und eine Rückverfolgung enthält. consider_all_requests_localMit Ihrer App können diese entwicklerfreundlichen Meldungen auch dann angezeigt werden, wenn der Computer, der die Anforderung stellt, remote ist.

Gordon Wilson
quelle
8
Die Rails-Standardfehlermeldung ist nur unwesentlich . Es dient jedoch auch einem anderen Zweck, nämlich Außenstehenden, die diese Informationen möglicherweise gegen Sie verwenden möchten, nicht zu viele Informationen über den internen Fehler anzuzeigen.
Gordon McCreight
Könnte dies den Antwortstatus und die Header ändern? Sagen Sie, wenn ich versuche, eine zurückzugeben, 503aber ein Kunde eine erhält 500?
PJSCopeland
4

Auf Entwicklungsniveau setzen wir:

Consider_all_requests_local set = true

weil der Entwickler einen Blick auf den vollständigen Fehler werfen muss, der das Layout / die Ansicht anzeigt, wie Sie im Bild unten sehen können.

Geben Sie hier die Bildbeschreibung ein

Aber auf Produktionsebene müssen wir unseren internen Codierungsfehler nicht anzeigen, also setzen wir false:

config.consider_all_requests_local = false

Geben Sie hier die Bildbeschreibung ein

Touseef Murtaza
quelle