Scopo di "consider_all_requests_local" in config / environment / development.rb?


94

Qual è lo scopo di questa impostazione di configurazione di Rails ...

config.action_controller.consider_all_requests_local = true

È impostato su true per impostazione predefinita in config/environments/development.rb.

Grazie,

Ethan


12
Per config.consider_all_requests_local=
inciso

Risposte:


123

Le richieste non locali generano pagine di errore di facile utilizzo. Le richieste locali, che si presume provengano dagli sviluppatori, visualizzano un messaggio di errore più utile che include i numeri di riga e un backtrace. consider_all_requests_localconsente alla tua app di visualizzare questi messaggi di facile utilizzo anche quando la macchina che effettua la richiesta è remota.


8
Il messaggio di errore predefinito di Rails è solo marginalmente amichevole. Serve anche ad un altro scopo, però, che è quello di non mostrare troppe informazioni sull'errore interno agli estranei che potrebbero voler utilizzare tali informazioni contro di te.
Gordon McCreight

Questo potrebbe cambiare lo stato della risposta e le intestazioni? Ad esempio, se sto cercando di restituire un messaggio 503ma un cliente riceve un 500?
PJSCopeland

4

A livello di sviluppo stabiliamo:

consider_all_requests_local set = true

perché lo sviluppatore deve dare un'occhiata all'errore completo che mostra il layout / visualizzazione come puoi vedere nell'immagine qui sotto.

inserisci qui la descrizione dell'immagine

Ma a livello di produzione, non abbiamo bisogno di mostrare il nostro bug di codifica interno, quindi impostiamo false:

config.consider_all_requests_local = false

inserisci qui la descrizione dell'immagine

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.