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 回答