我正在使用Apache2和Passenger在Ubuntu服務器上部署Rails應用程序。Rails - PDFkit在生產中不起作用
到目前爲止,除了一個問題外,一切都運轉良好。
我的應用程序的一部分涉及到從HTML網頁生成PDF的。
我使用pdfkit來做到這一點。
gem 'pdfkit'
gem 'wkhtmltopdf-binary'
我無法找到我遵循的指示,當我在本地主機上運行應用程序時,我得到了pdf工具包和工作。
但是,這是一個很好的例子:https://github.com/pdfkit/pdfkit
林遇到的問題是,我相信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或查看以前生成的任何pdf。如果我嘗試找到我不明白的以下錯誤日誌。
沒有人有使用PDFkit在生產鋼軌一些有實力的經驗嗎? 並且可以幫助確認我相信問題在於PDFkit未正確預編譯?