我正在开发一个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)
时得到的url并将其粘贴到浏览器中时,我可以看到图像n,但当我运行应用程序时,我会收到以下错误:
No such file or directory - http://localhost:3000/system/images/BAhbBlsHOgZmIiwyMDExLzA1LzI0LzE3XzQ4XzUxXzcxNF9tYWluX2ltYWdlMi5qcGc/main_image2.jpg
有什么想法吗?
RefineryCMS似乎正在使用Dragonfly进行文件上传。我相信你想调用图片上的.path来检索文件系统路径。可能是这样的:
attachments.inline["#{coupon.picture.title}"] = File.read(coupon.picture.file)
查看文档以了解更多信息。您应该在"常规用法"页面上找到您需要的内容。