使用与电子商务网站连接的Rails应用程序,偶尔会将我们的应用程序发送的电子邮件发送给我们使用的电子商务网站的客户。如何让用户在Rails中提交自定义电子邮件模板?
现在我们有一个通用的电子邮件模板保存在应用程序中作为html.erb
文件,但我们正在尝试添加功能以允许这些电子商务网站(我们的用户)提交他们自己的自定义电子邮件模板顾客。
我的第一个直觉是允许用户以textarea格式提交他们的模板并将其保存在我们的MySQL数据库中的模板表中。不过,我关心的几件事情:
- 模板需要访问实例变量,这意味着我们需要ERB,HAML,或一些其他的格式与视图中的Rails的实例变量兼容。
- 这个过程如何才能正常工作?我会带着一个充满HTML标签,内容和CSS样式标签的textarea - 然后需要将它转换成一个巨大的字符串以保存在表格中。如何将原始HTML转换为字符串,然后转换回HTML以动作呈现视图并发送邮件?
- 是否有宝石或其他做法来防止将所有不需要的erb或Ruby代码提交到用户的自定义模板中?我最担心的是一个用户提交了一个模板
<% User.destroy_all %>
或其他破坏性的Ruby代码。 - 有什么更容易的方法来实现这个过程比我在想什么?数据库路线是我第一次想到的,但现在我认为只需让我们的用户直接向我们提交自己的自定义模板并直接将它们保存在应用程序中可能会更好。但是,当然,这需要用户在他们想要对其进行更改时重新提交模板。
我们的应用程序使用Rails 4.1.7和Ruby 2.1.4p265。
谢谢!我会研究这个。 –