我正在开发一个Rails 3应用程序,目前我想将一个图像作为附件添加到电子邮件中。
我现在正在做以下事情:
class CouponMailer < ActionMailer::Base
default :from => "name@domain.com", :content_type => "multipart/mixed"
def send_coupon(recipient, coupon)
@coupon = coupon
@recipient = recipient
attachments.inline["#{coupon.picture.title}"] = File.read(File.join(root_url, coupon.picture.url))
mail(:to => recipient.email, :subject => "a subject")
end
end
我想要的图片是从我的RefineryCMS应用程序上传的,当我复制我在File.join(root_url, coupon.picture.url)
处获得的网址并将其粘贴到浏览器中时,我可以看到图片,但是当我运行应用程序时,我收到以下错误:
No such file or directory - http://localhost:3000/system/images/BAhbBlsHOgZmIiwyMDExLzA1LzI0LzE3XzQ4XzUxXzcxNF9tYWluX2ltYWdlMi5qcGc/main_image2.jpg
有什么想法吗?
答案 0 :(得分:3)
看起来RefineryCMS正在使用Dragonfly进行文件上传。我相信你想在你的图片上调用.path来检索文件系统路径。可能是这样的:
attachments.inline["#{coupon.picture.title}"] = File.read(coupon.picture.file)
有关详细信息,请查看documentation。您应该在General Usage页面上找到所需内容。