在rails 4.0.0中上传电子邮件中的图像

时间:2013-07-11 13:32:57

标签: ruby-on-rails

我对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

1 个答案:

答案 0 :(得分: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"))

或者,如果你想把它公之于众,那就是改变路线