如何在Rails中建立日程安排模型?

问题描述:

使用Ruby on Rails 2.3.8,我想知道如何表示处理“提醒”的模型的时间表。如何在Rails中建立日程安排模型?

Examples of reminder: 
"Must do ABC", Remind me in 3 days 
"Must do DEF", Remind me in 5 weeks 
"Must do XYZ", Remind me on 2nd Oct 2010 at 5 pm 

所以,Must do...进入一个description列。

但是,如何处理when to remind可以具有不同类型值的事实?
有些事情,我认为:

  1. 我想为每种类型 (remind_in_days,remind_in_weeks,remind_at)
    创建列 - >但是,这感觉有点缺憾。

  2. 有一个叫做remind_type场将被用来确定存储在一个字段值叫做类型remind_type_value
    - >如果我用这种方法,是有办法,我可以在Rails代码的东西简单地说像Reminder.RemindValue,而不必使用代码if remind_type==x then x

我应该如何进行任何想法(的方式,可能是优雅)?

为什么不从现在保存时的硬代码时间? “在两周内提醒我”,当保存时可以做一些事情,如reminder.remind_at = 2.weeks.from_now