2011-11-25 60 views
0

這可能是一個非常容易解決的問題,但我有一個查詢從兩個模型中提取數據。我想從查詢中看到的唯一的事情就是數組中的平均值(每個字符串末尾的數字)。但是,輸出目前看起來是這樣的:Rails 3陣列輸出

{"[\"Orthodontist\", 2011, 4]":"545625.5","[\"Orthodontist\", 2011, 3]":"534927.0","[\"Orthodontist\", 2011, 2]":"524438.5","[\"Orthodontist\", 2011, 1]":"514155.5"} 

我想要的陣列看起來像這樣:

[545625.5, 534927.0, 524438.5, 514155.5] 

的代碼看起來是這樣的:

<%= Quarter.includes(:client).group('clients.specialty', 'quarters.year','quarters.quarter').limit(4) 
.order('quarters.created_at DESC').average('quarters.collections').to_json %> 

我該怎麼辦?

回答

1

to_json之前添加values

<%= Quarter.includes(:client).group('clients.specialty', 'quarters.year','quarters.quarter').limit(4) 
.order('quarters.created_at DESC').average('quarters.collections').values.to_json %> 
+0

哦,謝謝!這正是我需要的。我之前沒有使用「.values」。所以現在的輸出是:[「545625.5」,「534927.0」,「524438.5」,「514155.5」] 有沒有什麼方法可以去掉「」標記? – FattRyan

+2

如果你想要它作爲浮點數,你可以在'.values'後面添加'.map(&:to_f)'.. – rubyprince

+1

@FattRyan ..你的查詢基本上返回一個哈希..'.values'給出哈希值在數組中 – rubyprince