如何构建rails分析仪表板

时间:2012-08-22 22:21:28

标签: ruby-on-rails ruby-on-rails-3

我正在寻找在rails应用程序中为我的数据构建分析仪表板。

假设我有一个请求类型列表“Fizz”,“Buzz”,“Bang”,“Bar”。

我想根据类型显示每天的计数。

我该怎么做?

这是我打算做的事情:

  1. 将get_bazz_by_day,get_fizz_by_day等添加​​到相应的模型中。
  2. 在每个模型中获取Fizz类型的所有记录,然后创建一个存储日期和计数的数组。
  3. 格式在视图中,因此JS库可以将其格式化为漂亮的图形。
  4. 这听起来合理吗?

1 个答案:

答案 0 :(得分:1)

根据记录数量,您的信息中心很快就会出现性能问题。

第1步具有误导性。不要单独获取每天的数据,尝试一次性获取所有数据。

在第2步中,您可以让数据库使用group方法进行数天的聚合。

请参阅http://guides.rubyonrails.org/active_record_querying.html#group

Fizz.select("date(created_at) as fizzed_day, count(*) as day_count").
     group("date(created_at)")

在第3步中,您需要注意不显示任何fizzbuzz的日子,因为它们不会在查询中返回。