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