Ich arbeite an der Bereitstellung meiner Rails-Anwendung auf einem Ubuntu-Server mit Apache2 und Passenger.Rails - PDFKit funktioniert nicht in der Produktion
Bis auf ein Problem läuft alles reibungslos.
Teil meiner App umfasst die Erstellung von PDF-Dateien von HTML-Webseiten.
Ich benutze pdfkit, um dies zu tun.
gem 'pdfkit'
gem 'wkhtmltopdf-binary'
Ich konnte nicht die Anweisungen finde ich für immer pdf-Kit nachgegangen und arbeiten, wenn ich die Anwendung auf meinem localhost ausgeführt wurde.
Aber dies ist ein gutes Beispiel: https://github.com/pdfkit/pdfkit
Das Problem Im mit, das ich glaube, ist PDFKit nicht mit meinem Vermögen vorkompilierte bekommen.
Innen application.rb
ich habe:
require 'pdfkit'
module RailsPdf
class Application < Rails::Application
config.middleware.use PDFKit::Middleware
end
end
In meinem config/initializers/assets.rb
ich
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
}
ich nicht finden konnte, wo ich das von bekam oder warum es da ist. Aber es gab mir ein Problem auf der Linie if request.env["REQUEST_PATH"].include? ".pdf"
Ich konnte nicht meine Anwendung Indexseite bekommen überhaupt zu laden, bis ich dieses Codes losgeworden. Ich habe ein Beispiel, da hier zu sehen: https://gist.github.com/francescognarra/9665736
und ersetzt den obigen Code mit dem folgenden:
PDFKit.configure do |config|
config.root_url = "file://#{Rails.root.join('public')}/"
end
Ich kann jetzt die Anwendung starten und durchsuchen alle meine Seiten. Ich kann jedoch keine neue PDF erstellen oder zuvor erstellte PDFs anzeigen. Wenn ich versuche, bekomme ich das folgende Fehlerprotokoll, das ich nicht verstehe.
Hat jemand eine große Erfahrung mit Schienen in der Produktion PDFKit? Und kann mir helfen zu bestätigen, dass PDFKit nicht korrekt vorkompiliert wird?