2016-02-26 66 views
0

我正在构建这个应用程序,用户可以在数据库中添加他们正在驾驶的公里数,他们使用的纸张数量等等。然后,在索引页上显示所有用户的每个类别的平均值。我用应用程序控制器中的代码这样做。每隔一周左右在rails中保存运行总数到数据库?

@all_users_transp_km_sum = Transport.average(:transport_km) 

但我想过在索引页上显示图表中运行总数的值会很酷。所以我想,如果我能以某种方式每周一次获得每个运行总数的值,然后该图表将显示每周一次的值。

这可能吗?建议或指导,将不胜感激

+0

如果我理解正确,您希望每周记录一次所有平均值并在图表上显示这些每周平均值?如果这是非常简单的情况。首先,您需要一张表来存储每条平均记录。然后你可以使用像“chart.js”这样的图并绘制它。如果你确切地说明你想要什么,我可以给出更具体的建议。 – bkunzi01

+0

嗨@ bkunzi01,是多数民众赞成基本上什么I'm问,你明白正确的:)你可以给我一个提示如何做到这一点,我明白我必须做出采取备案表,但我是什么混淆如何我可以抓取记录,例如每个星期一? – DaudiHell

回答

0

如果您使用Heroku上,你可以使用像Heroku的调度运行自定义rake任务,更新的数据显示每星期一。你会放在LIB /任务这个代码和您的文件命名类似every_monday.rake

在这个文件中,你会这样说:

task :scheduler_every_monday => :environment do 
    # update stuff 
end 

然后你会去的Heroku和开拓调度程序的附加组件并放入任务中。让它更新用于图表的模型。对于图表本身,请查看:http://chartkick.com/

+0

感谢您的回答@karma_police我目前没有使用heroku,因为我没有部署到它。这是唯一的方法还是? – DaudiHell

+0

不,还有其他的方法。您可以使用cron作业每周更新数据。看看像是什么宝石或发条(或任何cron工作,真的)。 – toddmetheny

+0

ahaaa ....好的,谢谢@karma_police,我会检查一下 – DaudiHell