我正在使用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未正确预编译?