Im работает над развертыванием моего приложения rails на сервере Ubuntu с Apache2 и Passenger.Rails - PDFkit не работает в производстве
До сих пор все работает бесперебойно, за исключением одной проблемы.
Часть моего приложения включает в себя создание PDF-файлов с веб-страниц html.
Im using pdfkit для этого.
gem 'pdfkit'
gem 'wkhtmltopdf-binary'
Я не мог найти инструкции я следовал за получение Kit PDF и работать, когда я запустить приложение на моем локальном хосте.
Но это хороший пример: https://github.com/pdfkit/pdfkit
вопрос Im имея, я считаю, pdfkit не получает прекомпилирован с моими активами.
Внутри application.rb
я есть:
require 'pdfkit'
module RailsPdf
class Application < Rails::Application
config.middleware.use PDFKit::Middleware
end
end
Внутри моего config/initializers/assets.rb
я имел
ActionController::Base.asset_host = Proc.new { |source, request|
if request.env["REQUEST_PATH"].include? ".pdf"
"file://#{Rails.root.join('public')}"
else
"#{request.protocol}#{request.host_with_port}"
end
}
Я не мог найти, где я получил от этого и почему именно там. Но это дает мне вопрос на линии if request.env["REQUEST_PATH"].include? ".pdf"
Я не мог получить мой индекс страницы приложения для загрузки на всех, пока я не избавился от этого кода. С тех пор я видел пример здесь: https://gist.github.com/francescognarra/9665736
И заменить приведенный выше код со следующим:
PDFKit.configure do |config|
config.root_url = "file://#{Rails.root.join('public')}/"
end
теперь я могу запустить приложение и просматривать все мои страницы. Но я не могу создать новый pdf или просмотреть ранее созданные. Если я попытаюсь получить следующий журнал ошибок, который я не понимаю.
Кто-нибудь есть большой опыт, используя PDFkit с рельсов в производстве? И может помочь подтвердить мое убеждение, что проблема заключается в том, что PDFkit не получается предварительно скомпилировать?