【发布时间】:2020-12-31 23:32:19
【问题描述】:
我正在使用 Grover 渲染和下载在我的应用程序中生成的文档的 pdf 副本,但在应用 css 时遇到了问题。在 grover 的调试模式下(因此在 Chromium 中导出和渲染),CSS 完全按照我的预期进行渲染。但是,当我将它置于无头模式并以 pdf 格式下载时,我的 application.css 似乎没有被应用。
正在使用以下方法生成 PDF:
def purchase_order_gen(the_purchase_order, request_host_with_port)
puts "generating pdf"
puts "Generating PDF for PO " + the_purchase_order.id.to_s
puts "Host is " + request_host_with_port
html = render_to_string({
partial: '/purchase_orders/display_purchase_order',
layout: '/layouts/pdf_layout.html.erb',
locals: { po: the_purchase_order }
})
puts "html"
ap html
the_display_url = 'http://' + request_host_with_port
grover = Grover.new(html, {format: 'A4' , display_url: the_display_url})
pdf = grover.to_pdf
puts "Back From Grover!"
return pdf
end
我使用以下行引用 css,放置在我的布局的 <head> 中。
<%= stylesheet_link_tag '/assets/stylesheets/application.css'%>
如果我不得不猜测,我会认为我搞砸了 stylesheet_link_tag,并且调试版本能够从资产管道中提取,而无头版本则不能。
提前致谢
【问题讨论】:
标签: ruby-on-rails ruby-on-rails-5 asset-pipeline stylesheet-link-tag