使用Mail gem,我的ruby代码无法渲染。有任何想法吗?

时间:2012-12-04 23:17:20

标签: ruby email

我正在使用Sinatra和这个宝石,我能够发送电子邮件确定。但是,当我发送一个ERB文件时,它以纯文本形式出现,并且它不会呈现ruby代码。例如:

mail = Mail.deliver do
  to user_email
  from 'support@iconosites.com'
  subject 'Your Upgrade is being processed'
  body File.read('views/email.erb')
end

有没有办法让它呈现Ruby代码?

谢谢!

1 个答案:

答案 0 :(得分:2)

我没有对此进行过测试,但看起来您正在尝试将erb模板渲染为电子邮件正文。

我认为你需要做更多的事情:

require 'erb'
template = ERB.new(File.read('views/email.erb'))

mail = Mail.deliver do
  to user_email
  from 'support@iconosites.com'
  subject 'Your Upgrade is being processed'
  body template.result
end

这里还有关于erb模板的ruby-docs页面上的几个电子邮件示例:http://ruby-doc.org/stdlib-1.9.3/libdoc/erb/rdoc/ERB.html