如何从数据库角度对其进行建模?

时间:2012-01-24 10:30:10

标签: ruby-on-rails database

我有一个模型项目,它有一个开始日期和结束日期。项目可以有多个目标,每个目标应该具有每天的状态(成功与否)。

所以,例如,假设我有一个名为"Get in better shape"的项目,该项目从今天开始,到1个月结束。我添加了以下目标"Run 1 km"。对于项目的每一天,我都希望将目标标记为成功或失败。我认为结果应该是一个不同的模型,属于客观。粗略地说,我有这个:

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

问题是,我也在考虑将Day作为一个模型添加,因为现在显示某一天(并且它的结果)感觉非常复杂......但不知何故它感觉不对。

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

1 个答案:

答案 0 :(得分:1)

我最近正在做类似的事情。您可以这样设置:

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

然后每天使用cronResult数据库中创建条目。 Rails默认在数据库中设置时间戳,因此使用created_at字段过滤特定日期的结果。

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