Ruby on rails 使用Rails 4和Carrierwave发送带有附件的电子邮件
我有一个Rails 4应用程序,它使用carrierwave处理文件上传。它安装正确,文件存储正确。但是,我无法使用Activemailer将其作为附件发送。这是我正在使用的邮件:Ruby on rails 使用Rails 4和Carrierwave发送带有附件的电子邮件,ruby-on-rails,Ruby On Rails,我有一个Rails 4应用程序,它使用carrierwave处理文件上传。它安装正确,文件存储正确。但是,我无法使用Activemailer将其作为附件发送。这是我正在使用的邮件: def trigger_email(send_mail, contact, user) @mailer = send_mail @email = contact.email @user = User.find(user) attachments[@mailer.attachment.o
def trigger_email(send_mail, contact, user)
@mailer = send_mail
@email = contact.email
@user = User.find(user)
attachments[@mailer.attachment.original_filename] = File.read(@mailer.attachment.current_path)
mail(to: @email, subject: @mailer.subject, from: @user.email)
end
我缺少什么?我找到了一个适合我的解决方案(rails 4.2、ruby 2.2.0、development env、本地存储) 记住添加两种电子邮件类型(.text.erb和.html.erb)
希望这能解决你的问题像这样的东西在我的
邮件中
很有魅力
all_documents.each do |document|
filename = document.pdf_file.file.filename
attachments[filename] = document.pdf_file.read
puts "attached!"
end
查找
file.filename
以及read
属性(位于您的carrierwave上传器型号中)
在我的情况下,我的上传器的列名是pdf\u file
您如何存储附件?它们在文件系统中吗?@jvnill是的,文件存储在文件系统的public/uploads/…您没有收到任何错误吗?还是你没有收到任何电子邮件?@jvnill我看不到任何错误。邮件发送得很好,没有任何附件。没有线索。如果尚未设置,请尝试将config.action\u mailer.raise\u delivery\u errors
设置为true
all_documents.each do |document|
filename = document.pdf_file.file.filename
attachments[filename] = document.pdf_file.read
puts "attached!"
end