¿Cuál es el propósito de "consider_all_requests_local" en config / environment / development.rb?

94

¿Cuál es el propósito de esta configuración de Rails?

config.action_controller.consider_all_requests_local = true

Está configurado como verdadero de forma predeterminada en config/environments/development.rb.

Gracias,

Ethan

Ethan
fuente
12
Como config.consider_all_requests_local=
comentario al

Respuestas:

123

Las solicitudes no locales dan como resultado páginas de error fáciles de usar. Las solicitudes locales, que se supone que provienen de los desarrolladores, ven un mensaje de error más útil que incluye números de línea y un seguimiento. consider_all_requests_localpermite que su aplicación muestre estos mensajes para desarrolladores incluso cuando la máquina que realiza la solicitud es remota.

Gordon Wilson
fuente
8
El mensaje de error predeterminado de Rails es solo ligeramente amigable. Sin embargo, también tiene otro propósito, que es no mostrar demasiada información sobre el error interno a personas externas que podrían querer usar esa información en su contra.
Gordon McCreight
¿Podría esto cambiar el estado de respuesta y los encabezados? Diga, si estoy tratando de devolver un, 503pero un cliente está recibiendo un 500?
PJSCopeland
4

A nivel de desarrollo establecemos:

consider_all_requests_local set = true

porque el desarrollador necesita echar un vistazo al error completo que muestra el diseño / vista como puede ver en la imagen a continuación.

ingrese la descripción de la imagen aquí

Pero a nivel de producción, no necesitamos mostrar nuestro error de codificación interno, por lo que configuramos falso:

config.consider_all_requests_local = false

ingrese la descripción de la imagen aquí

Touseef Murtaza
fuente