0

现在我有一个名为 Profile 的模型,它与用户相关联(基本上在 Profile 中我保存与用户相关的所有信息,在 User 中我存储密码、last_sign_in 等内容)。我希望能够向用户发送一些(每周)电子邮件,我想知道是否只是在 Profile 表中添加一个新列。

但是,我认为我也想每天发送,所以我正在考虑创建一个与 Profile 关联的名为“Notifications”的新表。但是,我看不到我应该做哪种关联。

一个配置文件可以有多个通知,但一种通知可以在多个配置文件中。你们会怎么做呢?

谢谢!

4

2 回答 2

1

我认为这完全取决于您要完成的工作,听起来您有通知类型以及针对配置文件的通知实例。

如果是这种情况,那么您通常会有一对多的关系,一个配置文件可以有很多通知;在您的个人资料模型中包括 has_many => 通知。并且每个通知都有一个类型引用;在你的通知模型中包括belongs_to => profile 和has_many => notification_types。这意味着 notification_type 属于许多通知;在您的 NotificationType 模型中包含 belongs_to => 通知。

于 2012-11-24T09:14:06.910 回答
0

我认为您不需要通知和配置文件/用户之间的任何关联。您可以只创建另一个名为 Notification 的模型,并使用名为 send_notification 的类级别方法。然后,您可以随时发送通知。

如果您想跟踪是否发送通知。您可以只拥有一个状态/标志列配置文件。每当您发送通知更新该列。

这只是我的看法。

于 2012-11-24T08:30:27.627 回答