首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >向我的用户显示Ruby on Rails中的电子邮件模板预览的最佳方式是什么?

向我的用户显示Ruby on Rails中的电子邮件模板预览的最佳方式是什么?
EN

Stack Overflow用户
提问于 2009-11-10 06:01:32
回答 1查看 681关注 0票数 2

我的软件为用户发送电子邮件。我想在发送电子邮件之前向他们展示邮件的样子。但是,使用ActionMailer约定时,整个模板都在一个文件中。这意味着html,head,body标签,等等。有没有人能想出一个好办法,让我的用户预览我发送的电子邮件是什么样子?

谢谢!

EN

回答 1

Stack Overflow用户

发布于 2009-11-10 06:20:21

我也有同样的问题。我用我发送的相关模型构建了显示,而不是在邮件程序中。我能够提供样本数据或实时数据来将其显示给用户。当需要实际发送它时,我在邮件视图中呈现了完全相同的内容

编辑:我为之前的垃圾变量名称道歉。我不确定是否允许我明确地谈论它们:)

假设我有一个名为foo( BarMailer,bar)的状态函数,其中status是测试电子邮件或实时电子邮件,bar是我关联的模型。

我调用了deliver_foo("test",bar)

deliver_foo发送了一个多部分的消息,所以对于每个部分,我都会render_message并传递我需要的变量。例如:

代码语言:javascript
复制
p.body = render_message('bar_html', :bar => bar, :other_data => bar.other_data)

因此,render_message专门使用bar_html视图(我也有一个用于纯文本bar_text )。

这是我的bar_html视图的内容:

代码语言:javascript
复制
<%=render :inline => @bar.some_parent.some_other_model.html, :locals => {:other_data => @other_data, :time => Time.now, :bar => @bar }%>

这有点复杂,但它是基于模板系统的。通过内联渲染,我可以将相同的代码用于许多不同的功能,包括预览和发送。我喜欢它,因为它变成了一个WYSIWIG。没有额外的代码或功能,可能是错误和垃圾与潜在的输出电子邮件。如果它在一个领域有效,那么它也将在另一个领域发挥作用。另外,保持干燥意味着我不会忘记修改一个副本(我会经常这样做,哈哈)。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/1704188

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档