0

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"
  }
]
}
4

2 に答える 2

1

モデル クラスには、columns列オブジェクトの配列を返すメソッドがあります。そこからほとんどのメタデータを抽出できます。

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

その後、それを応答に追加できます。

于 2012-05-20T03:23:09.347 に答える
0

私はおそらくjbuilderのようなものでそれを構築するでしょう

それを使用する方法についての良いrailscastエピソードがありますhttp://railscasts.com/episodes/320-jbuilder

于 2012-05-20T07:07:01.310 に答える