Ruby on rails 大多数Rails都是在工作线程中呈现视图内容的方式
我需要生成一个HTML新闻稿,并批量同步到批量电子邮件提供商 我有一个Rake任务,它同步所有联系人,并需要生成新闻稿HTML。我有几个选择,其中没有一个是完美的:Ruby on rails 大多数Rails都是在工作线程中呈现视图内容的方式,ruby-on-rails,Ruby On Rails,我需要生成一个HTML新闻稿,并批量同步到批量电子邮件提供商 我有一个Rake任务,它同步所有联系人,并需要生成新闻稿HTML。我有几个选择,其中没有一个是完美的: 我可以使用控制器生成它。这似乎是最正确的,但这意味着我很难做到 我可以破解一个模型,让它解析haml文件并生成内容。这感觉很糟糕,但会让我从一个工人那里生成它 一定有更好的办法 谢谢不要在模特身上做这件事。如果您需要生成新闻稿,则新闻稿是电子邮件,因此请使用邮件发送程序。如果您的内容是特定于用户的,则将所需的数据传递给mailer通
谢谢不要在模特身上做这件事。如果您需要生成新闻稿,则新闻稿是电子邮件,因此请使用邮件发送程序。如果您的内容是特定于用户的,则将所需的数据传递给mailer通知方法。邮件程序继承自ActionDispatch::Base,这意味着您可以访问渲染引擎、HAML、Slim、ERB,无论您使用什么。在完成测试和开发构建特定于用户的电子邮件之后,您应该创建一个rake任务,由r构建并向每个用户发送新闻稿。完成此任务后,您可以将其映射到cron作业,该作业将在您决定何时在生产中自动执行
只是不要让Rails中的整个MVC山欺骗你,新闻稿是一个完全不同的野兽,它不属于应用程序逻辑 我不需要邮件程序来发送邮件,我只需要生成HTML。这将通过批处理作业中的API传递给电子邮件发送者…是的,您没有。但这是一个比从一个模型上做更好的主意。您所需要的只是一个呈现引擎,将带有相应局部变量的模板传递给它,然后使用mailer客户端(例如gem)