【问题标题】:Disable HTML respond format in whole Rails App在整个 Rails 应用程序中禁用 HTML 响应格式
【发布时间】:2016-05-20 09:39:34
【问题描述】:

我使用纯 JavaScript 前端模板通过 JSON API 处理 Rails 的所有请求

然而,

我不知道为什么有时异常会给我 HTML 格式的错误消息。

因为我已经在 J​​SON 中设置了 API 请求格式

控制器(我只在控制器中保留format.json)

format.json { render json: @city.errors, status: :unprocessable_entity }

Route.rb

  namespace :api do
    namespace :v1, defaults: {format: 'json'} do
    resources country do
        resources city do
            .....
        end
    end
    end
  end

【问题讨论】:

标签: ruby-on-rails ruby-on-rails-4.2


【解决方案1】:

我不知道为什么有时异常会给我错误 HTML 格式的消息。

它不依赖于您的应用程序,它与请求和请求标头有关,如果有人在 html rails 尝试呈现 html 时发出请求。

【讨论】:

    【解决方案2】:

    异常会在控制器之外的 html 中呈现。你应该自己做:

    你的控制器:

    begin
      code_for_ok
    rescue #some exception
      render json: @city.errors, status: :unprocessable_entity
    end
    

    【讨论】:

    • 我假设这里的例外是ActionController::UnknownFormat
    猜你喜欢
    • 2016-02-19
    • 1970-01-01
    • 1970-01-01
    • 2013-09-08
    • 2013-04-06
    • 2015-01-11
    • 2012-12-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多