从数据库中提取数据集并操作到单独的数组中

时间:2013-06-30 08:28:11

标签: ruby-on-rails arrays google-visualization

我的数据库有四个字段,日期:日期,早晨:整数,下午:整数,晚上:整数。

Google图表需要将数据拆分为每个数据集一个数组(例如下面的示例)。最好的方法是什么?

  ['Day',     'Morning', 'Afternoon', 'Evening'],
  ['06/27/13',  1000,       400           234],
  ['06/28/13',  1170,       460           275],
  ['06/29/13',  660,        1120          377],
  ['06/30/13',  1030,       540           934]

我试过这个没有太多运气:

var data = google.visualization.arrayToDataTable([
  <% @todo.each do |t| %>
  ['Day',                                   'Morning',        'Afternoon',        'Evening'],
  [<%= t.date.strftime("%m/%d/%y") %>,  <%= t.morning %>, <%= t.afternoon %>, <%= t.evening %>]
  <% end %>
]);

1 个答案:

答案 0 :(得分:0)

data = @todo.inject([['Day','Morning','Afternoon','Evening']]) do |ar, t|
  ar << [t.strftime("%m/%d/%y"), t.morning, t.afternoon, t.evening]
end

然后将data发送到谷歌图表

var data = google.visualization.arrayToDataTable(<%= data.to_json%>);