コントローラーで 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 がファイルの有効な名前ではなくなったことは言うまでもありません。SCSS ファイルのマニフェストとして機能する app/assets/application.css ファイルがあり、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")
誰でも助けることができますか?