【问题标题】:How to have two pieces of data output as json in rabl如何在rabl中将两条数据输出为json
【发布时间】:2012-06-26 17:00:56
【问题描述】:

rabl 的新手,不知道如何处理在单个哈希中返回的两个不同数组,如下所示:

@data={:locations => [location1, location2], :items => [item1,item2]}

在我的 rabl 文件中,我想做如下的事情:

@data[:locations]
extends "api/location_show"
@data[:items]
extends "api/item_show"

输出这个:

{
    "locations": [
        {
            "id": 156,
            "name": "Location 1"
        },
        {
            "id": 158,
            "name": "Location 2"
        }
    ],
    "items": [
        {
            "global_id": 3189,
            "header": "pistachio 1"
        },
        {
            "global_id": 3189,
            "header": "pistachio 2"
        }
    ]
}

但它似乎不起作用。有没有办法让它工作?

谢谢

【问题讨论】:

    标签: ruby-on-rails json rabl


    【解决方案1】:

    您的 rabl 文件应如下所示:

    object false
    child (:locations) { attributes :id, :name }
    child (:items) { attributes :global_id, :header }
    

    通过将 object 设置为 false,您实际上是在告诉 rabl 您想自己构建节点。然后,您可以继续并根据需要调用子方法和节点方法。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-03-21
      • 2023-03-31
      • 2020-07-15
      • 1970-01-01
      相关资源
      最近更新 更多