我的 Rails 3.1 应用程序正在使用 PDFkit 呈现特定页面,我遇到了(看起来像)一个常见问题,即尝试生成 pdf 导致进程挂起。我在 stackoverflow 上找到了这个解决方案:rails 3 and PDFkit。config.threadsafe!
我在 development.rb 文件中添加了一个条目,这可以工作,但它要求对于应用程序中的每一个更改,我必须停止并重新启动我的服务器才能看到我的更改。工作流程不可接受 - 我目前正在为 PDF 页面设置样式,而且必须这样做是非常缓慢的过程。
我还发现这里报告了同样的问题:https ://github.com/jdpace/PDFKit/issues/110 ,问题指向了这个解决方法:http: //jguimont.com/post/2627758108/pdfkit-and-its -middleware-on-heroku。
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
}
这消除了重新启动更改的需要,但是现在当我加载 pdf 时,它没有从资产管道呈现的样式,因为它从公共目录中获取资产。如果我知道如何为公共文件夹中的 pdf 模板创建样式表,我想我可以使用这个解决方案。是否有人使用 PDFKit 和 Rails3.1 开发,这一切都在同步工作?
任何帮助将不胜感激!谢谢!托尼