Ruby on Rails: как отобразить HTTP 500 в XML? - PullRequest
0 голосов
/ 28 мая 2010

Я хочу иметь возможность отображать ошибку HTTP 500 с шаблоном XML-компоновщика, если тип запроса запрашивает XML. По умолчанию отображается 500.html, даже если тип запроса не запрашивает HTML-ответ.

Ответы [ 2 ]

0 голосов
/ 29 мая 2010

Вы не можете сделать рендер: xml => error_message,: status => 500?

0 голосов
/ 28 мая 2010

Вы можете сделать это с помощью специального промежуточного программного обеспечения Rack. Rails 2 делает именно это в actionpack/lib/action_controller/failsafe.rb, хотя я не уверен, как это делает Rails 3. См. руководство для получения инструкций о том, как это сделать. В вашем случае я думаю, что вы хотите создать свою собственную версию этого отказоустойчивого промежуточного программного обеспечения, но такую, которая проверяет заголовок / URL-адрес Accept и определяет файл ошибок, который следует использовать, а затем извлекает текущее промежуточное программное обеспечение Failsafe и заменяет его своей версией.

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