如何使用Rabl gem从Rails应用程序自定义JSON响应

时间:2012-09-10 03:53:21

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

在我的rails API app中使用Rabl gem渲染JSON。但是,我认为JSON是一种特定的格式。

这是我的rails应用程序发送的JSON作为回复:

  [{"lat":"49.2505","lng":"-123.1119"},{"lat":"49.2515","lng":"-123.1109"}]

这是客户想要获得的回复

  {"photos":[{"lat": 37.775, "lng": -122.4183333}, ...]}

以下是在文件中强制显示json的代码 index.json.rabl

collection @photos
attributes :lat, :lng

我在index.json.rabl文件中尝试了这段代码,但响应如下      收集@photos      节点(:照片){|照片|属性:lat,:lng}

 [{"photos":["lat","lng"]},{"lat":"49.2515","lng":"-123.1109","photos":["lat","lng"]}]

不完全是客户需要的

我需要在此代码中更改以获取客户端的正确JSON响应。

非常感谢。

1 个答案:

答案 0 :(得分:0)

我解决了这个问题:

index.json.rabl

 collection @photos => :photos 
 attributes :lat, :lng

产量

 {"photos":[{"lat":"49.2505","lng":"-123.1119"},{"lat":"49.2515","lng":"-123.1109"}]}