使用WickedPdf离线构建PDF文件时无法访问root_url方法

时间:2015-12-31 14:38:54

标签: ruby-on-rails pdf wkhtmltopdf wicked-pdf

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

1 个答案:

答案 0 :(得分:1)

如果我理解正确,请在视图中致电root_url

尝试将其更改为

Rails.application.routes.url_helpers.root_url