Какова цель «рассмотреть_все_запросы_локала» в config / environment / development.rb?

94

Какова цель этой настройки конфигурации Rails ...

config.action_controller.consider_all_requests_local = true

По умолчанию в config/environments/development.rb.

Благодарность,

Итан

Итан
источник
12
config.consider_all_requests_local=
Кстати

Ответы:

123

Нелокальные запросы приводят к появлению удобных страниц ошибок. Локальные запросы, которые, как предполагается, исходят от разработчиков, видят более полезное сообщение об ошибке, которое включает номера строк и трассировку. consider_all_requests_localпозволяет вашему приложению отображать эти удобные для разработчиков сообщения, даже если машина, выполняющая запрос, удалена.

Гордон Уилсон
источник
9
Сообщение об ошибке по умолчанию Rails лишь незначительно дружелюбным. Однако он также служит другой цели: не показывать слишком много информации о внутренней ошибке посторонним лицам, которые могут захотеть использовать эту информацию против вас.
Гордон МакКрайт
Может ли это изменить статус ответа и заголовки? Скажем, если я пытаюсь вернуть, 503но клиент получает 500?
PAOopeland
5

На уровне разработки мы устанавливаем:

think_all_requests_local set = true

потому что разработчику необходимо просмотреть полную ошибку, отображающую макет / вид, как вы можете видеть на изображении ниже.

введите описание изображения здесь

Но на производственном уровне нам не нужно показывать нашу внутреннюю ошибку кодирования, поэтому мы устанавливаем false:

config.consider_all_requests_local = ложь

введите описание изображения здесь

Тусиф Муртаза
источник