我在我的控制器中使用 PDFkit 来构建一系列 PDF,将它们压缩,然后将它们发送给用户。
为了控制输出样式,我告诉 PDFKit 在内容生成期间使用哪些样式表。我需要传递 CSS 文件的文件引用。由于 Rails 现在正在编译和重命名我的样式表,我不确定如何在我的控制器中引用编译后的 CSS 资产。
这是我以前做的:
InvoicesController < ApplicationController
def download
kit = PDFKit.new(render_to_string(:show, :layout => false))
kit.stylesheets << "#{Sass::Plugin.options[:css_location]}/application.css"
kit.to_file("#{file_date_string}.pdf")
# snip
end
end
Sass::Plugin.options[:css_location] 现在返回不正确的位置,更不用说 application.css 不再是文件的有效名称。我应该提一下,我有一个 app/assets/application.css 文件作为我的 SCSS 文件的清单,并且它通过 stylesheet_link_tag() 方法在我的视图中正常工作。
基本上我正在寻找的是一个等效于asset_path()的控制器,以便执行以下操作:
kit = PDFKit.new(render_to_string(:show, :layout => false))
kit.stylesheets << asset_path('application.css')
kit.to_file("#{file_date_string}.pdf")
任何人都可以帮忙吗?