use*_*724 3 actionmailer ruby-on-rails-3
我希望在发送电子邮件时在电子邮件中显示公司徽标。我想到了动作邮件程序基础,并且有支持邮件中图像的附件内联功能。
我是这样实现的:
在 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
Run Code Online (Sandbox Code Playgroud)
在config/application.rb中:
config.action_mailer.default_url_options = { :host => "mealnut.com" }
Run Code Online (Sandbox Code Playgroud)
在welcome_email.html.web中
<div class="logo">
<%= image_tag attachments['mealnut.png'].url, :alt => 'Mealnut', :class => 'photo' %>
</div>
Run Code Online (Sandbox Code Playgroud)
但它给出了错误:
undefined method `url' for nil:NilClass
Run Code Online (Sandbox Code Playgroud)
出了什么问题吗?
附件和内联附件的区别仅在于内联将通过 base64 插入它,但无论如何您都需要附加一个文件!
attachments.inline['mealnut.png'] = File.read( Rails.root.join("app/some/path/","mealnut.png") )
Run Code Online (Sandbox Code Playgroud)
比你能够在视图中引用它
希望有帮助!
| 归档时间: |
|
| 查看次数: |
3695 次 |
| 最近记录: |