我使用Prawn PDF和Actionmailer在完成注册表单时发送pdf,但它只是发送文本而不是附加pdf。不太清楚我错过了什么,但任何帮助都会受到影响。
实施例
--
Content-Type: application/pdf;
charset=UTF-8
Content-Transfer-Encoding: base64
Content-Disposition: attachment;
filename=file.pdf
JVBERi0xLjQKJf////8KMSAwIG9iago8PCAvQ3JlYXRvciA8ZmVmZjAwNTAw
MDcyMDA2MTAwNzcwMDZlPgovUHJvZHVjZXIgPGZlZmYwMDUwMDA3MjAwNjEw...
PRAWN PDF
# encoding: utf-8
class FormPdf < Prawn::Document
def initialize(form)
super()
@form = form
all
end
def all
text "Form text here"
end
end
控制器
def create
@form = Form(params[:form])
respond_to do |format|
if @form.save
FormMailer.send_form(@form).deliver
else
end
end
end
邮件程序
class FormMailer < ActionMailer::Base
default from: "noreply@random.com"
def send_form(form)
@g form = form
pdf = FormPdf.new(@ form)
attachments["file.pdf"] = { mime_type: 'application/pdf', content: pdf.render() }
mail to: @form.email, subject: "Form"
end
end
答案 0 :(得分:0)
我已经解决了这个问题。意识到我没有视图模板。