Paperclip文件未附加到actionmailer。没有相应的文件和目录

时间:2014-04-19 21:37:40

标签: ruby-on-rails ruby paperclip actionmailer

我正在尝试将回形针头像图像附加到电子邮件中,但它似乎并没有意识到它是我附加的图像,但是当我将URL放入浏览器时它会找到图像。我不确定是不是因为回形针的末尾是否有随机数字。

在我的用户邮件中

attachments.inline['avatar.jpg'] = File.read("localhost:3000#{@user.avatar.url(:medium)}")

在我的电子邮件中

<%= image_tag attachments['avatar.jpg'].url %>

它吐出的网址是(图片是用于测试的随机照片)

localhost:3000/system/users/avatars/000/000/026/medium/Maximus_Minimus_food_truck_Seattle_Washington.JPG?1397942965

3 个答案:

答案 0 :(得分:1)

您可以使用Asset管道附加实际文件路径。没有测试过。

"#{Rails.root}/#{<YourAppName>::Application.assets.find_asset('avatar.jpg').pathname}"

You can find the answer here

答案 1 :(得分:1)

这是我的模型看起来像

class Petition < ApplicationRecord
  has_attached_file :contract
end

在邮件程序中,我附上了这份合同文件。希望这会有所帮助。

def send_invitation(petition)
  attachments[petition.contract_file_name] = File.read(petition.contract.path)
  mail(
    to:       @petition.email,
    subject: t('mailer.send_invitation')) do |format|
    format.html { render 'send_invitation' }
end

答案 2 :(得分:0)

我认为你应该使用

attachments.inline['avatar.jpg'] = @user.avatar.data