大多数Rails方式在工作线程中呈现视图内容

时间:2013-02-11 16:06:17

标签: ruby-on-rails

我需要生成HTML简报并将其批量同步到批量电子邮件提供商。

我有一个Rake任务,可以同步所有联系人,并且需要生成简报HTML。我被提出了几个选项,不完美:

  1. 我可以使用控制器生成它。这似乎是最正确的,但意味着我很难打到网络堆栈。
  2. 我可以破解模型以允许它解析haml文件并生成内容。这感觉不好,但让我从工人那里产生它。
  3. 必须有更好的方法。

    由于

1 个答案:

答案 0 :(得分:1)

不要从模型中做到这一点。如果您需要生成简报,则简报是电子邮件,因此请使用邮件程序。如果您的内容是特定于用户的,则将所需数据传递给邮件程序通知方法。邮件程序从ActionDispatch :: Base继承,这意味着您可以访问渲染引擎,HAML,Slim,ERB,无论您使用什么。在完成测试和开发构建特定于用户的电子邮件之后,您应该创建一个rake任务,构建并向每个用户发送简报。完成此任务后,您可以将其映射到cron作业,该作业将在您决定时自动在生产中执行。

只是不要让整个MVC山在Rails中欺骗你,通讯是一个完全不同的野兽,它不属于应用程序逻辑。