Cel „rozważ_ wszystkie_wnioski_lokalne” w config / environment / development.rb?

94

Jaki jest cel tego ustawienia konfiguracji Railsów ...

config.action_controller.consider_all_requests_local = true

Domyślnie jest ustawione na true w config/environments/development.rb.

Dzięki,

Ethan

Ethan
źródło
12
Na marginesie: w szynach 3 opcja jestconfig.consider_all_requests_local=
zmarła trzy razy

Odpowiedzi:

123

Żądania nielokalne powodują powstanie przyjaznych dla użytkownika stron błędów. Lokalne żądania, przypuszczalnie pochodzące od programistów, wyświetlają bardziej przydatny komunikat o błędzie, który zawiera numery wierszy i ślad wsteczny. consider_all_requests_localumożliwia aplikacji wyświetlanie tych przyjaznych dla programistów komunikatów, nawet jeśli maszyna wysyłająca żądanie jest zdalna.

Gordon Wilson
źródło
9
Domyślny komunikat o błędzie Rails jest tylko nieznacznie przyjazny. Służy to jednak również innemu celowi, którym jest nie pokazywanie zbyt wielu informacji o błędzie wewnętrznym osobom z zewnątrz, które mogą chcieć wykorzystać te informacje przeciwko tobie.
Gordon McCreight
Czy to może zmienić stan odpowiedzi i nagłówki? Powiedzmy, jeśli próbuję zwrócić, 503ale klient otrzymuje 500?
PJSCopeland
4

Na poziomie rozwoju ustalamy:

think_all_requests_local set = true

ponieważ programista musi spojrzeć na pełny błąd pokazujący układ / widok, jak widać na poniższym obrazku.

wprowadź opis obrazu tutaj

Ale na poziomie produkcyjnym nie musimy pokazywać naszego wewnętrznego błędu kodowania, więc ustawiliśmy wartość false:

config.consider_all_requests_local = false

wprowadź opis obrazu tutaj

Touseef Murtaza
źródło