2012-11-24 60 views
0

現在我有一個名爲Profile的模型,它與用戶相關聯(基本上在配置文件中保存與用戶相關的所有信息,並且在用戶中存儲密碼,last_sign_in, ...)。我希望能夠向用戶發送一些(每週)的電子郵件,我想知道如何在Profile表中添加一個新列。與(用戶)配置文件相關的電子郵件通知

但是,我認爲它可能發生,我也想每天發送,所以我想創建一個名爲「通知」,與配置文件關聯的新表。但是,我沒有看到我應該做什麼樣的協會。

一個配置文件可以有很多通知,但一種通知可以在許多配置文件中。你們會怎麼做?

謝謝!

+1

這取決於情況,如果你有預定義的通知列表並且不動態生成,那麼它應該在兩個模型中都是has_and_belongs_to_many,否則在配置文件模型中它應該像「has_many => notifications」,並且在通知模型中它應該像「belongs_to =>個人資料」 – Jeet

回答

1

我認爲這完全取決於您嘗試完成的操作,聽起來像您擁有通知類型以及針對配置文件的通知實例。

如果是這種情況,那麼您通常會擁有一對多的關係,一個配置文件可以有多個通知;在您的個人資料模型中包含has_many =>通知。並且每個通知都有一個類型引用;在你的Notification模型中包括belongs_to => profile和has_many => notification_types。這意味着notification_type屬於許多通知;在您的NotificationType模型中包含belongs_to =>通知。

0

我認爲你不需要通知和配置文件/用戶之間的任何關聯。您可以創建另一個名爲Notification的模型,並使用名爲send_notification的類級別方法。然後,您可以隨時發送通知。

如果您想跟蹤是否發送通知。你可以只有一個狀態/標誌列配置文件。每當你發送通知更新該列。

這只是我的看法。