Objetivo de “consider_all_requests_local” em config / environment / development.rb?


94

Qual é o propósito desta configuração de configuração do Rails ...

config.action_controller.consider_all_requests_local = true

É definido como verdadeiro por padrão em config/environments/development.rb.

Obrigado,

Ethan


12
Como um aparte: no rails 3, a opção éconfig.consider_all_requests_local=
morreu três vezes

Respostas:


123

As solicitações não locais resultam em páginas de erro fáceis de usar. Solicitações locais, supostamente provenientes de desenvolvedores, veem uma mensagem de erro mais útil que inclui números de linha e um backtrace. consider_all_requests_localpermite que seu aplicativo exiba essas mensagens amigáveis ​​ao desenvolvedor, mesmo quando a máquina que faz a solicitação é remota.


8
A mensagem de erro padrão do Rails é apenas marginalmente amigável. Porém, também serve a outro propósito, que é não mostrar muitas informações sobre o erro interno para estranhos que possam querer usar essas informações contra você.
Gordon McCreight

Isso pode alterar o status e os cabeçalhos da resposta? Digamos, se estou tentando devolver um, 503mas um cliente está recebendo um 500?
PJSCopeland

4

No nível de desenvolvimento, definimos:

consider_all_requests_local set = true

porque o desenvolvedor precisa dar uma olhada no erro completo ao mostrar o layout / visualização como você pode ver na imagem abaixo.

insira a descrição da imagem aqui

Mas, no nível de produção, não precisamos mostrar nosso bug de codificação interno, então definimos false:

config.consider_all_requests_local = false

insira a descrição da imagem aqui

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.