0

我正在创建一个简单的待办事项应用程序,其中有两种类型的任务。

1) 常规任务 - 这些有截止日期 2) 重复任务 - 这些在指定日期作为提醒弹出。它们可以创建为每周或每月提醒。如果创建一个星期,它将在每个星期(在一周的指定日期)弹出。同样对于一个月,它需要指定星期和日期。

模拟这种情况的最佳方法是什么?

4

2 回答 2

2

我将有两列用于提醒对象 - remind_at(日期)和repeat_frequency(用于识别不同再次发生的东西)。这样,您可以remind_at快速索引该列并通过它进行搜索。每次向用户显示提醒时,它都会查看repeat_frequency- 如果它包含重复的指示,则设置remind_at为下一个日期,如果没有,则删除/存档提醒。

于 2009-11-30T08:52:35.467 回答
0

您可以为 a 建模Task以拥有due_date. 但是,如果一个任务是重复的,due_date将为 null 并且您将使用该recurrence字段来计算next_due_date. recurrence将是一个包含可解析字符串的字符串字段,例如“tuesday”(每周)或“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

这对您来说可能是也可能不是“最佳方式”,具体取决于您的要求和模型的未来需求。

于 2009-11-30T19:37:24.797 回答