У меня есть API в том же приложении (но разные контроллеры и пространства имен) в качестве стандартных представлений и контроллеров для обработки тех же ресурсов.Rails обрабатывает 404 по-разному для разных типов запросов
В настоящее время, когда я получаю 404, независимо от того, был ли запрос выполнен как HTML или json, я получаю ответ HTML 404.
секция контроллера приложения для обработки 404 следующим образом:
unless Rails.application.config.consider_all_requests_local
rescue_from ActiveRecord::RecordNotFound, with: :render_denied_404
rescue_from ActionController::RoutingError, with: :render_404
rescue_from ::AbstractController::ActionNotFound, with: :render_404
rescue_from ActionController::UnknownController, with: :render_404
rescue_from ActionView::MissingTemplate, with: :render_404
end
def render_404(e = Exception.new)
Rails.logger.info "Rendering 404: #{e.to_s}"
flash[:error] = "Error 404 " + e.to_s
redirect_to "/404"
end
Как я могу изменить это, чтобы иметь дело с ошибкой 404 по-разному в зависимости от типа формата запроса?