Rails - 从api JSON响应中删除HTML

时间:2014-01-22 18:35:18

标签: html ruby-on-rails json api rails-api

Using rails (4.0.2)
Using rails-api (0.1.0)

当rails-api出现类似500的错误时,它会在响应中抛出一堆html,尽管所有其他请求都会将输出格式化为json。

有什么方法可以从响应中删除html吗?一个简单的500响应,以及日志中的堆栈跟踪会很棒。

更新 我已从公用文件夹中删除了这些文件:

404.html
422.html
500.html

但仍然在回复中获得HTML。

我相信它会被卷入:https://github.com/rails/rails/blob/043c8707bf0a87beb3906643ddfd1b60f52c1a98/actionpack/lib/action_dispatch/middleware/templates/rescues/_request_and_response.html.erb

1 个答案:

答案 0 :(得分:0)

您可以告诉路由默认情况下返回JSON

namespace :api, defaults: {format: :json} do
  namespace :v1 do
    namespace :items do
      get :all
    end
  end
end

然后在您的控制器中

render json: { json_structure: true }, status: :internal_server_error

如果我是您,我将按照this guide之类的方法进行操作,以确保您已完成将标准Rails应用程序制作为API的所有必要步骤。