Я использую 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")
Может ли кто-нибудь помочь?