0

我对 ROR 完全陌生。我正在尝试创建一个简单的应用程序来在 rails 4.0.0 中创建和发送带有附件的电子邮件。用户应该能够将图像嵌入到电子邮件中。电子邮件正在发送并且图像也已上传,但在此过程中已损坏,因此收件人无法看到它。任何人都可以提出解决这个问题的方法吗?

我的邮件代码:

class UserMailer < ActionMailer::Base
  default :from => "xyz@abc.com"    

  def registration_confirmation(user)
    @user = user
    attachments['rails.jpg'] = File.read('C:\Ruby\mail\public\images\rails.jpg')
    mail(:to => "#{user.name} <#{user.email}>", :subject => "Image attachment")
  end
end
4

1 回答 1

1

尝试:

  def registration_confirmation(user)
    @user = user
    attachments['rails.jpg'] = File.read(Rails.root.join('public\images\rails.jpg'))
    mail(:to => "#{user.name} <#{user.email}>", :subject => "Image attachment")
  end

编辑

根据您的评论,我想这可能是图像的问题。检查rails.jpg图像是否存在于 中YourRailsRoot/app/assets/images,然后尝试使用:

File.read(Rails.root.join('app/assets/images/rails.jpg'))

或者

File.open(File.join(Rails.root, "/app/assets/images/rails.png"))

或者,如果你想公开,同样的事情,但改变路线

于 2013-07-11T13:49:40.753 回答