0

我使用 Sinatra 和这个 gem,我可以发送电子邮件。但是,当我发送 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 代码?

谢谢!!

4

1 回答 1

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

在 ruby​​-docs 页面上还有一些电子邮件示例,用于 erb 模板:http ://ruby-doc.org/stdlib-1.9.3/libdoc/erb/rdoc/ERB.html

于 2012-12-05T03:15:09.977 回答