我正在创建一个简单的待办事项应用程序,其中有两种类型的任务。Rails数据建模问题
1)定期任务 - 这些任务有一个到期日期 2)定期任务 - 这些在指定日期作为提醒被强化。它们可以创建为每周或每月提醒。如果创建了一周,它将在每周(每周的指定日期)加强。同样的一个月,它需要指定星期和日期。
建立此场景的最佳方式是什么?
我正在创建一个简单的待办事项应用程序,其中有两种类型的任务。Rails数据建模问题
1)定期任务 - 这些任务有一个到期日期 2)定期任务 - 这些在指定日期作为提醒被强化。它们可以创建为每周或每月提醒。如果创建了一周,它将在每周(每周的指定日期)加强。同样的一个月,它需要指定星期和日期。
建立此场景的最佳方式是什么?
我将有两列提醒对象 - remind_at
(日期)和repeat_frequency
(通过标识不同的重新发生的东西)。这样,您可以索引remind_at
列,并通过它快速搜索。每次向用户显示提醒时,它会查看repeat_frequency
- 如果它包含重复指示,请将remind_at
设置为下一个日期,如果没有,则删除/存档提醒。
你可以建立一个Task
有一个due_date
。但是如果任务重复发生,due_date
将为空,并且您将使用recurrence
字段来计算next_due_date
。 recurrence
将是一个字符串字段,其中包含像“星期二”(每周)或“17”(每月的一天数字)等可分析字符串。
def next_due_date
if due_date
due_date
else
# compute next due date using the 'recurrence' field and today's date
end
end
这可能是也可能不是你的“最佳途径”,根据您的要求,以及模型的未来需求。