Специфичный для действия обработчик исключений HTML в Rails - PullRequest
1 голос
/ 05 июня 2009

У меня есть куча XHR-действий в контроллере, которые возвращают HTML для вставки на страницу. Если ответ является ошибкой, тогда вывод помещается в специальный div ошибки. Пока что ничего особо интересного.

Однако этот общий процесс не работает для обработки исключений Rails. Если я возбуждаю исключение в моих действиях XHR, я получаю общий вывод 500 обработчика ошибок в моем div ошибки, который выглядит немного ужасающим. Хотя я могу перехватить все возможные исключения в своем действии и вывести более подходящую ошибку, я теряю стандартное ведение журнала исключений и уведомление, что отстой.

Итак, единственное решение, которое я могу придумать, - это возможность указать другой HTML-фрагмент обработчика 500, который будет использоваться для этих конкретных действий, но я не нахожу много. У кого-нибудь есть идеи?

1 Ответ

2 голосов
/ 05 июня 2009

Вы должны быть в состоянии проверить код состояния 500 в вашем обработчике javascript и отобразить общее сообщение типа «Проблема с сервером». Если есть случаи, когда более конкретное сообщение об ошибке было бы полезно для конечного пользователя в производственной среде, вам придется перехватывать эти исключения с помощью предложения rescue_from. Если вы действительно хотите запретить отображение страницы 500, вы можете переопределить метод rescue_action_in_public на контроллере XHR.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...