使用 WickedPdf 离线构建 PDF 文件时无法访问 root_url 方法
Can't access root_url method when building a PDF file offline using WickedPdf
我们使用 WickedPdf,一个 wkhtmltopdf 包装器,在屏幕上生成我们的大部分 PDF 文件,因为我们可以对 HTML 和 PDF 版本使用相同的 .haml 文件。
我想生成一些 PDF 文件以供将来使用。我们已经在邮件程序中做了类似的事情来生成和附加 PDF。这很好用...
# mailer
pdf = WickedPdf.new.pdf_from_string(render_to_string('account/customer_invoices/show_pdf.html', :layout => 'pdf'))
attachments["invoice.pdf"] = pdf
但是当我在模型而不是邮件程序中尝试相同的技巧时,我收到以下错误...
ActionView::Template::Error:
undefined method `root_url' for #<#<Class:0x007fad308a8538>:0x007fad308a83d0>
我看到的从模型中访问 root_url 的标准答案是添加以下内容,但它不起作用,因为我实际上是从视图而不是模型访问它.
include Rails.application.routes.url_helpers
如果我没理解错你在视图中调用 root_url
。
尝试将其更改为
Rails.application.routes.url_helpers.root_url
我们使用 WickedPdf,一个 wkhtmltopdf 包装器,在屏幕上生成我们的大部分 PDF 文件,因为我们可以对 HTML 和 PDF 版本使用相同的 .haml 文件。
我想生成一些 PDF 文件以供将来使用。我们已经在邮件程序中做了类似的事情来生成和附加 PDF。这很好用...
# mailer
pdf = WickedPdf.new.pdf_from_string(render_to_string('account/customer_invoices/show_pdf.html', :layout => 'pdf'))
attachments["invoice.pdf"] = pdf
但是当我在模型而不是邮件程序中尝试相同的技巧时,我收到以下错误...
ActionView::Template::Error:
undefined method `root_url' for #<#<Class:0x007fad308a8538>:0x007fad308a83d0>
我看到的从模型中访问 root_url 的标准答案是添加以下内容,但它不起作用,因为我实际上是从视图而不是模型访问它.
include Rails.application.routes.url_helpers
如果我没理解错你在视图中调用 root_url
。
尝试将其更改为
Rails.application.routes.url_helpers.root_url