2012-01-24 16 views
1

我有一个模型项目,它有一个开始日期和结束日期。一个项目可以有多个目标,每个目标应该有一个地位(成功与否)每天。例如,假设我有一个名为"Get in better shape"的项目,该项目从今天开始,并在1个月内结束。我添加以下目标"Run 1 km"。对于项目的每一天,我都希望将目标标为成功或失败。我在想,结果应该是一种不同的模式,属于客观。粗略地说,我有这样的:这怎么可能从数据库的角度建模?

Project has_many :objectives 
Objective belongs_to :project 
      has_one :result 
Result belongs_to :objective 

的事情是,我也在想,也许的加入日作为模型,因为现在感觉很复杂,表现出一定的天(和它的结果)...但不知何故,它感觉不对。

是否有更简单的方式来表示模型?您如何处理日期范围相关/重要的应用程序?

回答

1

我最近在做类似的事情。你可以将它设置这样的:

Project  has_many  :objectives 
Objective belongs_to :project 
      has_many  :result 
Result  belongs_to :objective 

然后使用cron创造每一天Result数据库条目。 Rails默认在数据库中设置时间戳,因此使用created_at字段过滤某一天的结果。

您可以使用whenever gem来设置cron作业。