Objectif de «consider_all_requests_local» dans config / environnements / development.rb?

94

Quel est le but de ce paramètre de configuration Rails ...

config.action_controller.consider_all_requests_local = true

Il est défini sur true par défaut dans config/environments/development.rb.

Merci,

Ethan

Ethan
la source
12
En aparté: Dans les rails 3, l'option estconfig.consider_all_requests_local=
mort le

Réponses:

123

Les demandes non locales génèrent des pages d'erreur conviviales. Les demandes locales, supposées provenir de développeurs, voient un message d'erreur plus utile qui comprend des numéros de ligne et une trace arrière. consider_all_requests_localpermet à votre application d'afficher ces messages conviviaux pour les développeurs même lorsque la machine qui fait la demande est distante.

Gordon Wilson
la source
8
Le message d'erreur par défaut de Rails n'est que marginalement convivial. Cela sert également un autre objectif, cependant, qui est de ne pas montrer trop d'informations sur l'erreur interne à des tiers qui pourraient vouloir utiliser ces informations contre vous.
Gordon McCreight
Cela pourrait-il modifier l'état de la réponse et les en-têtes? Dites, si j'essaye de retourner un 503mais qu'un client reçoit un 500?
PJSCopeland
4

Au niveau du développement, nous définissons:

consider_all_requests_local set = true

car le développeur doit jeter un œil à l'erreur complète montrant la mise en page / la vue comme vous pouvez le voir dans l'image ci-dessous.

entrez la description de l'image ici

Mais au niveau de la production, nous n'avons pas besoin de montrer notre bogue de codage interne, nous définissons donc false:

config.consider_all_requests_local = false

entrez la description de l'image ici

Touseef Murtaza
la source