如何从浏览器请求Rails中的JSON响应

问题描述 投票:0回答:2

我想仅使用浏览器测试来自Rails控制器GET操作的JSON响应。

如果资源的url是http://localhost:3000/models/action,我如何告诉rails将响应作为JSON返回?

ruby-on-rails
2个回答
0
投票

一旦你弄清楚如何去做,这很简单。

您可以通过将类型添加为操作的扩展名来指定响应的类型。

例如,如果我们想要json响应,可以将请求更改为http://localhost:3000/models/action.json


0
投票

您必须在控制器中定义响应格式:

def action 
   @objects = Model.all
   respond_to do |format|
      format.html
      format.json
   end
end

或作为捷径

def action 
   @objects = Model.all
   respond_to :html, :json
end

或处理控制器级别的格式

class ModelsController < ApplicationController
   respond_to :html, :json

   def action
     @objects = Model.all
     respond_with(@objects)
  end
end

现在,当您调用http://localhost:3000/models/action.json时,响应将是JSON格式

© www.soinside.com 2019 - 2024. All rights reserved.