Rails:邮件中的attachments.inline []

时间:2013-03-26 09:03:18

标签: ruby-on-rails-3 actionmailer

我正在寻找在发送电子邮件时在电子邮件中显示公司徽标。我去了动作邮件基地,并且有邮件中支持图像的附件内联功能。

我用这种方式实现了它:

在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

出了什么问题?

1 个答案:

答案 0 :(得分:2)

附件和内联附件的不同之处仅在于内联会通过base64插入它,但无论如何都需要附加文件!

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

比您在视图中引用它

希望有所帮助!