Prawn PDF和Action Mailer没有附加PDF

时间:2016-06-22 01:40:33

标签: ruby-on-rails actionmailer

我使用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

1 个答案:

答案 0 :(得分:0)

我已经解决了这个问题。意识到我没有视图模板。