使用RABL将对象正确格式化为json

时间:2012-07-10 19:45:38

标签: json rabl

我有一个@user_designs数组,它有一些属性,包括name,theme_id和token。目前我的RABL看起来像这样:

collection @user_designs 
attributes :token, :name, :theme_id

并显示:

[
    {
        "user_design": {"token":"U081247840","name":"My Design","theme_id":1}},
    {
        "user_design": {"token":"U783042565","name":"facebook images","theme_id":2}
    }
]

从json看到的id是这样的:

{
     "status" : true,
     "user_designs" : 
           {
                "U081247840": {"name":"My Design","theme_id":1},
                "U783042565": {"name":"facebook images","theme_id":2}
           }

}

我试过查看文档,但我无法理解。状态只是我想要嵌入的变量,它独立于集合。我还希望所有用户设计都在一个名为“用户设计”的哈希中,并由其令牌编制索引。

我如何在RABL中执行此操作?我正在使用rails 3.2

1 个答案:

答案 0 :(得分:0)

我没有尝试过,但它应该基于文档:

collection @user_designs 
extends 'user_designs/show'

在'user_designs / show'

object @user_design => @user_design.token
attributes :name, :theme_id

要通过令牌索引集合中的对象,您应该在控制器中执行此操作,或在模型中定义订单范围。