Ruby on rails rails 3和PDFkit
我正试着跟着这个 当我将Ruby on rails rails 3和PDFkit,ruby-on-rails,wkhtmltopdf,Ruby On Rails,Wkhtmltopdf,我正试着跟着这个 当我将.pdf添加到我的url时,它什么也不做。我的控制器有: respond_to :html, :pdf. 我的mime类型已声明 我也试过: respond_to do |format| format.html format.pdf { html = render_to_string(:layout => false , :action => "www.google.fr") kit = PDFKit.new(html) se
.pdf
添加到我的url时,它什么也不做。我的控制器有:
respond_to :html, :pdf.
我的mime类型已声明
我也试过:
respond_to do |format|
format.html
format.pdf {
html = render_to_string(:layout => false , :action => "www.google.fr")
kit = PDFKit.new(html)
send_data(kit.to_pdf, :filename => "candidats.pdf", :type => 'application/pdf')
return # to avoid double render call
}
end
但它不起作用,我也不会出错。我的浏览器一直在等待localhost,但什么也没发生
那么我应该如何尝试使用pdfkit呢
编辑2:
根据我的rails日志,rails成功地呈现了HTML。我在.log中看到了这一点,rails不会将其发送到webrick或我的浏览器。我的浏览器一直在等待,等待着什么也没发生。我这里只有一些小照片
编辑3:我的webrick服务器似乎无法响应其他请求,一旦他开始获得我的url的.pdf
版本,有什么想法吗
编辑4:
我正在使用rails 3.1、wkhtmltopdf 0.9.5(windows installer)和pdfkit 0.5.2,多亏了另一个堆栈溢出答案,我得到了部分解决方案 这项工作:
html = '<html><body>Toto de combats</body></html>'
@pdf = PDFKit.new(html)
send_data @pdf.to_pdf, :filename => "whatever.pdf",
:type => "application/pdf",
:disposition => "attachement"
html='Toto de combats'
@pdf=PDFKit.new(html)
发送_data@pdf.to _pdf,:filename=>“whatever.pdf”,
:type=>“application/pdf”,
:处置=>“附件”
您可以用内联替换attachement
,这样pdf就会显示在浏览器中
在我提到的堆栈溢出回答(我不记得链接)中,.to_pdf
缺失,但却是必需的。否则PDF阅读器不会识别它
我正在尝试用一个.pdf url来获取这项工作
编辑3:
我的.pdf URL问题解决了。rails 3.1存在已知问题,但谷歌无法找到
说明:
解决方法(尚未尝试) 即使在开发模式下,我也找到了一种更好的方法来访问我的.pdf URL
# Enable threaded mode
config.threadsafe!
# Code is not reloaded between requests
#config.cache_classes = true
Config.cache_classes是一个注释,因为我在没有注释的时候遇到了一些问题。这样,pdfkit即使在rails 3.1中也能正常工作。但是,您不会在请求之间重新加载代码
这不是一个真正的问题,因为您首先处理html,然后切换配置,以便检查pdf结果。这样,您就不必为生产数据库操心。很抱歉,无法帮助您解决问题,但感谢您向我介绍pdfkit!我一直认为prawn很好。你发布的代码和你链接到的教程中显示的代码之间有很大的不匹配。你确定你在遵循教程吗?将此设置置于开发模式可以完成这项工作,但如何使其在生产环境中工作(是否使用heroku?)。如果我设置config.threadsafe代码>在生产中标记我的作业超时。我没有使用heroku。它在生产中非常适合我。(但我仍然在本地)。这可能会帮助您:。我没试过。