ruby on rails 3-如何从ActionMailer获取文件路径



我正在开发一个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)

查看文档以了解更多信息。您应该在"常规用法"页面上找到您需要的内容。

相关内容

  • 没有找到相关文章

最新更新