0

私は 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 コードをレンダリングする方法はありますか?

ありがとう!!

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

erbテンプレートのruby-docsページにもいくつかの電子メールの例があります:http://ruby-doc.org/stdlib-1.9.3/libdoc/erb/rdoc/ERB.html

于 2012-12-05T03:15:09.977 に答える