所以,我正在尝试在我工作的小型设计/开发机构中构建一个小型rails应用程序供内部使用。我对rails非常陌生(我是前端开发者),但我正在学习。
目标是让应用从Harvest提取数据,并显示每位10名员工的每日/每周/每月工时,以及其他信息,例如他们当前是否有效以及百分比是多少他们的工作已经开始计费。信息应该每分钟更新一次。
我只需要一些关于构建此项目的最佳实践的建议,因为我正在使用的大多数数据都来自外部源。我最初尝试在我的pg数据库中为每个用户存储名称,电子邮件和收获ID,然后使用harvest_id作为参考来查询Harvest以获取我需要的数据。以下是我如何抓住工作报告的示例:
def harvest_user
harvest.users.find(self.harvest_id)
end
def entries(interval, billable)
user = self.harvest_user
entries = harvest.reports.time_by_user(user, interval, DateTime.now, billable)
sum = 0
entries.each do |entry|
hrs = entry.hours.to_s.to_f
sum += hrs
end
sum.round(1)
end
然后我通过对部分渲染数据进行ajax调用来每分钟更新数据。
一切正常,但初始页面加载真的很慢,所以我认为我一定做错了。
有什么建议吗?我觉得我可以抓住一些关于进行一次大api调用然后根据需要过滤掉这些数据的想法,但我不确定从哪里开始。
谢谢!