我目前正在开发一个基于 ruby on rails 的项目。该网站的一项特殊功能包括通过邮件及时发送通知,其中包含网站上发布的所有帖子的摘要。邮件的发送默认间隔为 30 天。因此,每个用户在不同的日子收到一封邮件,这取决于他的注册日期以及最后一封发送的新闻信函的日期,这是与用户相关的数据之一。
但现在我正在考虑向时事通讯添加设置,以便用户可以配置他想要获取时事通讯的时间间隔。因此,我不想根据最后一封新闻信的发送日期发送时事通讯,而是想在每月的特定日期将时事通讯发送给所有用户。
例如,如果用户希望每周接收一份时事通讯,它将在每周的每个星期日发送。每月的时事通讯将在每个月的 1 日发送,依此类推。
我想到的一种方法是创建一个用于发送时事通讯的基类,然后为每月、每周……等等创建子类,以利用 ruby 的面向对象特性。但我不确定这是否是解决问题的最佳方法。
我想知道是否有其他方法可以解决这个问题。我不需要 ruby on rails 解决方法,任何有使用任何其他编程语言解决此问题的经验的人都可能会有所帮助。