1

メール送信時に会社のロゴをメールに表示したいのですが。アクションメーラーベースを考えてみましたが、メール内の画像をサポートする添付インライン機能があります。

私はそれを次のように実装しました:

user_mailer.rbで

def welcome_email(user)
@user = user
 @url  = "http://mealnut.com"
  attachments.inline['mealnut.png']

mail(:to => user.email, :subject => "Mealnut: New Order #{order.id}")
end

config / application.rb内:

config.action_mailer.default_url_options = { :host => "mealnut.com" }

welcome_email.html.webで

  <div class="logo">
          <%= image_tag attachments['mealnut.png'].url, :alt => 'Mealnut', :class => 'photo' %>
  </div>

しかし、それはエラーを与えています:

undefined method `url' for nil:NilClass

何が問題なのですか?

4

1 に答える 1

2

添付ファイルとインライン添付ファイルは、インラインがbase64経由で挿入することだけが異なりますが、とにかくファイルを添付する必要があります。

  attachments.inline['mealnut.png'] = File.read( Rails.root.join("app/some/path/","mealnut.png") )

ビューで参照できるよりも

お役に立てば幸いです。

于 2013-04-09T10:42:58.207 に答える