【问题标题】:Email notifications related to (user) profile与(用户)个人资料相关的电子邮件通知
【发布时间】:2012-11-24 17:14:06
【问题描述】:

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

但是,我认为我也可能希望每天发送,因此我正在考虑创建一个名为“通知”的新表格,该表格与个人资料相关联。但是,我看不到我应该做哪种关联。

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

谢谢!

【问题讨论】:

  • 视情况而定,如果您有预定义的通知列表并且没有动态生成,那么它应该在两个模型中都是 has_and_belongs_to_many,否则在配置文件模型中它应该像“has_many => 通知”和通知模型应该像“belongs_to => profile”

标签: ruby-on-rails notifications


【解决方案1】:

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

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

【讨论】:

    【解决方案2】:

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

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

    这只是我的看法。

    【讨论】:

      猜你喜欢
      • 2016-04-21
      • 2021-07-10
      • 2023-01-27
      • 1970-01-01
      • 2019-02-18
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-09-28
      相关资源
      最近更新 更多