| 2008-09-22 23:21:16 | Ответить |
|---|---|
|
Valeri_K Адрес: Сообщений: 56 Регистр: 2008-06-09 его блог 0 сообщ. |
RE: Как спрятать сообщение: Routing Error ? |
|
Ну вот и настал час, чтобы отписаться :) .
Вопрос решается очень просто.. Предистория. В Rails приложении существуют режимы "development" и "productions" Так вот, в для режима "productions" есть настроечный файл config/environments/production.rb, который гласит: # Full error reports are disabled config.action_controller.consider_all_requests_local = false Эта опция устанавливает переменную @@consider_all_requests_local в false ( наверное нетрудно догадаться :) ) НО... больше ничего не сказано. Но существует еще функция, которую проверяет Rails - local_request? Т.е. другими словами: Если функция local_request? вернет true ИЛИ @@consider_all_requests_local == true , то все ошибки будут подробно вываливаться в броузер . Так вот в этом все и дело! Когда мы используем связку Nginx+Thin и для высшей производительности используем пул UNIX sockets вместо пула портов, то оказывается функция local_request? всегда будет возвращать true, что не удивительно, а раз так, то ошибки с подробностями выбрасываются в броузер. Чтобы изменить ситуацию мне потребовалось переопределить функцию local_request?. Редактируем файл app/controllers/application.rb Вот и все! |
|
| nginx, rails, Thin |