我有一个模型项目,它有一个开始日期和结束日期。项目可以有多个目标,每个目标应该具有每天的状态(成功与否)。
所以,例如,假设我有一个名为"Get in better shape"
的项目,该项目从今天开始,到1个月结束。我添加了以下目标"Run 1 km"
。对于项目的每一天,我都希望将目标标记为成功或失败。我认为结果应该是一个不同的模型,属于客观。粗略地说,我有这个:
Project has_many :objectives
Objective belongs_to :project
has_one :result
Result belongs_to :objective
问题是,我也在考虑将Day作为一个模型添加,因为现在显示某一天(并且它的结果)感觉非常复杂......但不知何故它感觉不对。
是否有更简单的方式来表示模型?您如何处理日期范围相关/重要的应用程序?
答案 0 :(得分:1)
我最近正在做类似的事情。您可以这样设置:
Project has_many :objectives
Objective belongs_to :project
has_many :result
Result belongs_to :objective
然后每天使用cron
在Result
数据库中创建条目。 Rails默认在数据库中设置时间戳,因此使用created_at
字段过滤特定日期的结果。
您可以使用whenever gem来设置cron作业。