Ruby On Rails in UA Icon_home Главная Add to bookmarks Translate translate Profile Войти
Регистрация Форум Блоги Пользователи Список джемов Rails проекты      Поиск   

Ruby On Rails in UA/Программирование на ROR/Как спрятать сообщение: Routing Error ?/RE: Как спрятать сообщение: Routing Error ?

2008-09-22 23:21:16 Ответить  
Valeri_K
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


Вот и все!
, ,
Назадназад Новыйновый Ответитьответить
Ключевые слова:
Гости: 137 Онлайн: 0
Rambler's Top100
О проекте по всем вопросам обращайтесь на support
Rubyclub.com.ua Copyright © 2007 - 2008