【问题标题】:How to customize JSON response from Rails app using Rabl gem如何使用 Rabl gem 自定义来自 Rails 应用程序的 JSON 响应
【发布时间】:2012-09-10 03:53:20
【问题描述】:

在我的 Rails API 应用程序中,我使用 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}, ...]}

这是在文件 index.json.rabl

中呈现 json 的代码
collection @photos
attributes :lat, :lng

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

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

不完全是客户需要的

我必须在此代码中进行哪些更改才能为客户端获取正确的 JSON 响应。

非常感谢。

【问题讨论】:

  • 这是在黑暗中拍摄,但你试过@photos.first吗?
  • @ethagnawl。谢谢,我刚刚解决了这个问题:)

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


【解决方案1】:

我解决了这个问题:

index.json.rabl

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

产量

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2016-12-25
    • 1970-01-01
    • 2020-05-15
    • 1970-01-01
    • 2021-05-26
    • 2011-03-12
    • 1970-01-01
    相关资源
    最近更新 更多