Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/spring/11.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails rails 3和PDFkit_Ruby On Rails_Wkhtmltopdf - Fatal编程技术网

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。它在生产中非常适合我。(但我仍然在本地)。这可能会帮助您:。我没试过。