2

我目前正在使用 Ruby on Rails 3.2.8 并尝试使用 ActionMailer 发送一封电子邮件,其中包含电子邮件正文中的图像。我在网上搜索过,没有任何说明有帮助。这是我在 Railscasts 剧集中使用的示例:

user_mailer.rb

def registration_confirmation(user)
  @user = user
  attachments["rails.png"] = File.read("#{Rails.root}/public/images/corporate_logo.png")
  mail(:to => "#{user.name} <#{user.email}>", :subject => "Registered")
end

registration_confirmation.html.erb

<%= image_tag("corporate_logo.png", :alt => "CorporateLogo") %>
<p><%= @user.name %>,</p>
<p>Thank you for registering!</p>
<p><%= link_to "Edit profile", edit_user_url(@user) %></p>

谢谢!

4

1 回答 1

2

尝试按照此处的示例进行操作。我还没有尝试过,但它应该可以工作。它针对最近的 rails 进行了格式化,railscasts 集中的示例适用于添加资产管道之前的 rails 版本。

尝试:

attachments['rails.png'] = File.read('/assets/corporate_logo.png')

或者

attachments['rails.png'] = File.read('corporate_logo.png')

或者也许参考这个答案,可以帮助你。他们是这样设置的:

attachments["rails.png"] = File.read("#{Rails.root}/app/assets/images/corporate_logo.png")
于 2012-09-25T01:10:21.007 回答