2009-11-30 69 views
0

我正在創建一個簡單的待辦事項應用程序,其中有兩種類型的任務。Rails數據建模問題

1)定期任務 - 這些任務有一個到期日期 2)定期任務 - 這些在指定日期作爲提醒被強化。它們可以創建爲每週或每月提醒。如果創建了一週,它將在每週(每週的指定日期)加強。同樣的一個月,它需要指定星期和日期。

建立此場景的最佳方式是什麼?

回答

2

我將有兩列提醒對象 - remind_at(日期)和repeat_frequency(通過標識不同的重新發生的東西)。這樣,您可以索引remind_at列,並通過它快速搜索。每次向用戶顯示提醒時,它會查看repeat_frequency - 如果它包含重複指示,請將remind_at設置爲下一個日期,如果沒有,則刪除/存檔提醒。

0

你可以建立一個Task有一個due_date。但是如果任務重複發生,due_date將爲空,並且您將使用recurrence字段來計算next_due_daterecurrence將是一個字符串字段,其中包含像「星期二」(每週)或「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 

這可能是也可能不是你的「最佳途徑」,根據您的要求,以及模型的未來需求。