我正在寻找在发送电子邮件时在电子邮件中显示公司徽标。我去了动作邮件基地,并且有邮件中支持图像的附件内联功能。
我用这种方式实现了它:
在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" }
in welcome_email.html.web
<div class="logo">
<%= image_tag attachments['mealnut.png'].url, :alt => 'Mealnut', :class => 'photo' %>
</div>
但它给出了错误:
undefined method `url' for nil:NilClass
出了什么问题?
答案 0 :(得分:2)
附件和内联附件的不同之处仅在于内联会通过base64插入它,但无论如何都需要附加文件!
attachments.inline['mealnut.png'] = File.read( Rails.root.join("app/some/path/","mealnut.png") )
比您在视图中引用它
希望有所帮助!