ruby-on-rails WickedPDF发送空白PDF作为邮件附件

axkjgtzd  于 2023-04-08  发布在  Ruby
关注(0)|答案(1)|浏览(130)
if params[:invoice_id].presence
  @invoice = Invoice.find(params[:invoice_id])
  attachments['invoice.pdf'] = WickedPdf.new.pdf_from_string(
    render_to_string(
      template: 'invoices/service',
      locals: { current_user: }
    )
  )
end

我已经从wickedpdf附加了一个PDF文件,但发送附件后,它作为空白白色页面。
我正在尝试使用ActionMailer在Ruby on Rails中发送附件,并将PDF作为附件。

zbsbpyhn

zbsbpyhn1#

通过查看Wicked PDF文档中的示例,似乎您在render_to_string方法中缺少了layout选项。
我建议这样做:

if params[:invoice_id].presence
  @invoice = Invoice.find(params[:invoice_id])
  attachments['invoice.pdf'] = WickedPdf.new.pdf_from_string(
    render_to_string(
      template: 'invoices/service',
      locals: { current_user: },
      # add this line and change the value with the right pdf layout path
      layout: 'layouts/pdf' 
    )
  )
end

相关问题