0
我有一個名爲產品的表,它有一個名爲data的hstore字段。推送到單獨的陣列
所以,我的指數看起來是這樣的:
def index
@products = Product.all
@headers = @products.map(&:data).flat_map(&:keys).uniq
@product_data = []
@products.each do |product|
@headers.each do |key|
@product_data.push(product.data[key])
end
end
respond_to do |format|
format.html
format.json do
render :json => {
"myDataAfter" => @product_data.as_json,
"myDataBefore" => @products
}
end
end
end
myDataBefore基本上是我拿到的時候我只需要調用整個產品模型的JSON represontation。它看起來像:
"myDataBefore":
[
{
"id": 76,
"store_id": 128,
"created_at": "2014-02-19T04:30:43.455Z",
"updated_at": "2014-02-19T04:30:43.455Z",
"data": {
"81506": "Same",
"Hello world": "Yes"
}
},
{
"id": 77,
"store_id": 128,
"created_at": "2014-02-22T04:39:08.708Z",
"updated_at": "2014-02-22T04:39:08.708Z",
"data": {
"81506": "dasfsdaf",
"Hello world": "dafs"
}
}
]
myDataAfter是我的JSON貌似現在,試圖讓我想要的東西后:
"aaData":["Same","Yes","dasfsdaf","dafs"]
因此,它結合兩行數據屬性到一個單一的陣列。但我真的希望「相同」和「是」在一個數組中,而「dasfsdaf」和「dafs」在另一箇中。所以基本上,表中的每一行在JSON中都有自己的數組。我怎麼能得到這個?
感謝您的幫助!