3

我期待允许我的用户配置他们的电子邮件通知频率。

我想为他们提供典型的选择:直接电子邮件、每日和每周摘要

¿ 在 rails 3 应用程序中构建它的最佳策略是什么?

谢谢大家!

4

1 回答 1

5

你可以email_frequency_preference在你的表上有一个字符串列users来存储他们的偏好。然后您可以通过他们的电子邮件频率偏好找到用户:

User.find_all_by_email_frequency_preference    # :instantly | :weekly | :monthly

我还建议使用Event带有名称和描述的模型来表示您想要通知用户的可能发生的事件。然后您可以按创建日期查找事件:

Event.find :created_at => start_date..Date.today

现在,您必须分别处理所有三个频率偏好:

  1. 每当事件发生时,找到所有喜欢即时事件电子邮件通知的用户并立即将其发送给他们。

  2. 在每周结束时,查找该周发生的所有事件:

    start_date = Date.today.beginning_of_week
    

    将他们的描述合并到一封电子邮件中,然后找到所有喜欢每周事件电子邮件通知的用户并将其发送给他们。

  3. 在每个月的月底,找出当月发生的所有事件:

    start_date = Date.today.beginning_of_month
    

    将他们的描述合并到一封电子邮件中,然后找到所有喜欢每月事件电子邮件通知的用户并将其发送给他们。

于 2011-06-11T17:49:36.073 回答