ActionController::UnknownFormat после обновления до рельсов 4.1
В моем application_controller.rb
Я ловлю все 404 с render_404
метод:
def render_404(exception)
respond_to do |format|
format.html { render template: 'errors/error_404', layout: 'layouts/application', status: 404 }
format.all { render nothing: true, status: 404 }
end
end
Вторая строка отлично работала для всех форматов, кроме HTML, что особенно полезно, когда боты посылают вам случайные запросы страниц.
После обновления с Rails 4.0.4 до 4.1.1 запросы на не-HTML форматы выбрасываются ActionController::UnknownFormat
ошибки у меня, который вызывает 500 и отправляет мне письмо. Я предполагаю, что это связано с добавлением вариантов, но я не смог точно найти, что не так в коде Rails.
Комментируя format.html
линия делает format.all
линия работы. Я, вероятно, могу взломать мой render_500
метод реагировать определенным образом, когда он получает ActionController::UnknownFormat
но это не идеально. Есть идеи, как это исправить?
1 ответ
Формат является объектом класса ActionController::MimeResponds::Collector. Может быть, вы можете проверить API для получения дополнительной информации.