我在同一个应用程序(但不同的控制器和名称空间)中有一个API作为标准视图和控制器来处理相同的资源。
目前,当我收到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错误?
答案 0 :(得分:0)