【发布时间】:2011-06-04 23:58:25
【问题描述】:
我正在开发一个目标完成应用程序,其中可以有目标、里程碑和任务。里程碑属于目标,目标可以有许多里程碑,而任务可以属于目标、里程碑,也可以独立存在。我想在每个模型中存储的信息如下:
Goal content:string, est_completion_date:date completed:boolean, completion_date:date
Milestone content:string, est_completion_date:date completed:boolean, completion_date:date
Task content:string, occur_on:date completed:boolean, completion_date:date, days:?
Task 模型的 'occur_on' 字段用于为自定义日期安排任务。 'days' 字段存储任务应该在一周中的哪几天发生,如果它是重复的。
我有两个问题。
1) 我读到了单表继承,想知道这是否适合我。除了 Task 模型有“days”和“occur_on”之外,每个模型都几乎相同,但没有“est_completion_date”。对所有这些关联建模的最佳方法是什么?
2) 我不太确定如何最好地存储有关任务应该在一周中的哪几天发生的信息。我应该把它变成一个每天都有布尔值的关联数组,还是应该在表中为每一天都有单独的字段?
【问题讨论】:
标签: ruby-on-rails ruby-on-rails-3 data-modeling