将metaData添加到rails中的json响应

时间:2012-05-20 03:08:43

标签: ruby-on-rails json metadata

我如何在rails 3.2中将元数据添加到json响应? 有没有办法访问模型元数据并包括?即。字段名称和数据类型。

如下所示:

{
"metaData":{
  "columns":[
     {
        "dataIndex":"id",
        "text":"User ID",
        "type":"integer"
     },
     {
        "dataIndex":"name",
        "text":"User Name",
        "type":"string"
     },
     {
        "dataIndex":"birthday",
        "format":"dd-mmm-yy",
        "text":"Birthday",
        "type":"datetime"
     }
  ]
},
"data":[
  {
     "id":1,
     "name":"Queen Elizabeth",
     "birthday":"1533-09-07T06:33:39Z"
  },
  {
     "id":2,
     "name":"Queen Elizabeth II",
     "birthday":"1926-04-21T02:40:00Z"
  }
]
}

2 个答案:

答案 0 :(得分:1)

您的模型类将有一个columns方法,该方法返回一个列对象数组。您可以从中提取大部分元数据:

metas = Model.columns.map { |c| c.as_json.slice('name', 'type') }

然后您可以将其添加到您的回复中。

答案 1 :(得分:0)

我可能会用jbuilder

之类的东西来构建它

关于如何使用它http://railscasts.com/episodes/320-jbuilder

,有一个很好的轨道播报