在rails中每隔一周左右将运行总量保存到数据库中?

时间:2016-02-26 12:52:57

标签: ruby database ruby-on-rails-4 graph

我正在构建这个应用程序是用户能够向数据库添加他们正在驾驶多少公里,他们正在使用多少公斤纸张然后所有用户的每个类别的平均值显示在索引页面上。我在应用程序控制器中使用这样的代码执行此操作。

@all_users_transp_km_sum = Transport.average(:transport_km)

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

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

1 个答案:

答案 0 :(得分:0)

如果你正在使用Heroku,你可以使用类似Heroku Scheduler的东西来运行自定义rake任务,该任务更新每周一显示的数据。您将此代码放在lib / tasks中,并将文件命名为every_monday.rake

在该文件中,你会说:

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

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