我需要生成 HTML 时事通讯并将其批量同步到批量电子邮件提供商。
我有一个同步所有联系人的 Rake 任务,并且需要生成时事通讯 HTML。我看到了几个选项,但没有一个是完美的:
- 我可以使用控制器生成它。这似乎是最正确的,但意味着我很难访问 webstack。
- 我可以破解一个模型,让它解析一个haml文件并生成内容。这感觉很糟糕,但会让我从工人那里生成它。
一定会有更好的办法。
谢谢
我需要生成 HTML 时事通讯并将其批量同步到批量电子邮件提供商。
我有一个同步所有联系人的 Rake 任务,并且需要生成时事通讯 HTML。我看到了几个选项,但没有一个是完美的:
一定会有更好的办法。
谢谢
不要从模型中做到这一点。如果您需要生成时事通讯,时事通讯是电子邮件,因此请使用邮件程序。如果您的内容是特定于用户的,则将所需的数据传递给邮件通知方法。邮件程序继承自 ActionDispatch::Base,这意味着您可以访问渲染引擎、HAML、Slim、ERB,无论您使用什么。在完成测试和开发构建用户特定的电子邮件后,您应该创建一个 rake 任务,该任务 r 构建并向每个用户发送时事通讯。完成此任务后,您可以将其映射到一个 cron 作业,该作业将在您决定时在生产中自动执行。
只是不要让 Rails 中的整个 MVC 山欺骗了你,时事通讯是一个完全不同的野兽,它不属于应用程序逻辑。