我在我的Rails应用程序中有一个典型的邮件程序设置,它有两个视图(.text.erb和.html.erb),用于邮件程序类的每个方法.这些视图位于app/views /目录中,并且正在正确呈现它们.
现在,我可以渲染一个标记模板在字符串变量中的视图,而不是渲染app/views/*目录中的文件.
要使用的模板因用户而异,并从数据库中选取.如何渲染此字符串中的ERB模板,而不是在views目录中呈现模板文件?
一个非常相似的问题,但是从Django世界来看:从字符串而不是从文件加载模板
请注意:我不想将渲染视图的输出捕获为字符串.关于这一点,有几个问题.
请注意那些将其标记为重复的人:这不是关于控制器视图,而是关于邮件程序视图.每个邮件程序方法都有两个视图,需要呈现这两个视图,然后在电子邮件中作为适当的内容发送.
当然.这很简单
render inline: string_template
对于邮件视图:
mail do |format| format.html { render inline: string_template} end