Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ruby-on-rails/66.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 如何使用Prawn gem生成返回给客户端的PDF_Ruby On Rails - Fatal编程技术网

Ruby on rails 如何使用Prawn gem生成返回给客户端的PDF

Ruby on rails 如何使用Prawn gem生成返回给客户端的PDF,ruby-on-rails,Ruby On Rails,我正在使用prawn gem生成pdf文件 render_文件('csv.pdf')正在将文件保存到项目根目录中 相反,我想在保存到root之前打开pdf,然后将其保存到任何位置 怎么办 谢谢在控制器中尝试: respond_to do |format| format.pdf do `send_data your_pdf.render, :filename=>"default_filename.pdf", :type=>"application/pdf"` end e

我正在使用prawn gem生成pdf文件

render_文件('csv.pdf')正在将文件保存到项目根目录中

相反,我想在保存到root之前打开pdf,然后将其保存到任何位置

怎么办

谢谢

在控制器中尝试:

respond_to do |format|
  format.pdf do
    `send_data your_pdf.render, :filename=>"default_filename.pdf", :type=>"application/pdf"`
  end
end
其中
您的\u pdf
是您用对虾创建的对象。

在控制器中尝试:

respond_to do |format|
  format.pdf do
    `send_data your_pdf.render, :filename=>"default_filename.pdf", :type=>"application/pdf"`
  end
end

其中,
your\u pdf
是您使用对虾创建的对象。

您也可以使用inline=>false选项来使用对虾。

您也可以使用inline=>false选项来使用对虾。

您使用“打开”是什么意思?使用pdf程序由客户端打开?是的,pdf应由客户端打开,然后保存到所需位置“打开”是什么意思?客户端用PDF程序打开?是的,PDF应该由客户端打开,然后保存到所需的位置I使用此代码,但它采取空白页PDFtable =虾::文件。新的PDFtable。表[([姓名],“登录”] ]响应格式>格式。PDF做SDENDATA PDFTABLE。:filename=>“default_filename.pdf”,:type=>“application/pdf”end end end end您可以检查日志并查看是否显示任何错误吗?如果是的话,你能把它贴在这里吗?您使用的是哪个版本的Prawn?只需使用此代码即可“发送数据pdftable.render,:filename=>“default\u filename.pdf”,:type=>“application/pdf”'跳过其余部分。我在初始值设定项中添加了mimetype使其工作。我尝试了代码,它似乎生成了有效的pdf(Rails 2.3.8,Prawn 0.11.1)。在调用
send_data
(因此
my_var=pdf.render;send_data my_var,:filename=>…,:type=>…
)之前,可以尝试进行渲染,并查看是否有帮助。您可能还希望重新启动应用程序或apache以确保服务器端没有缓存任何内容,然后使用CTRL+F5在客户端不缓存的情况下重新加载页面。如果没有任何帮助,恐怕我不知道可能是错的。我正在使用rail3和ruby 1.9.2,只需使用这段代码就可以了“send_data pdftable.render,:filename=>“default_filename.pdf”,:type=>“application/pdf”'跳过其余部分。我在初始化器中添加了MIMEType以使它有效。我使用了这个代码,空白页PDFtable =虾:文件。新的PDFTABLE。表[[ [ [姓名],“登录] ] ]响应格式>格式。PDF做SDENDATA PDFTABLE。:type=>“application/pdf”end end您可以检查日志并查看是否显示任何错误吗?如果是的话,你能把它贴在这里吗?您使用的是哪个版本的Prawn?只需使用此代码即可“发送数据pdftable.render,:filename=>“default\u filename.pdf”,:type=>“application/pdf”'跳过其余部分。我在初始值设定项中添加了mimetype使其工作。我尝试了代码,它似乎生成了有效的pdf(Rails 2.3.8,Prawn 0.11.1)。在调用
send_data
(因此
my_var=pdf.render;send_data my_var,:filename=>…,:type=>…
)之前,可以尝试进行渲染,并查看是否有帮助。您可能还希望重新启动应用程序或apache以确保服务器端没有缓存任何内容,然后使用CTRL+F5在客户端不缓存的情况下重新加载页面。如果没有任何帮助,恐怕我不知道可能是错的。我正在使用rail3和ruby 1.9.2,只需使用这段代码就可以了“send_data pdftable.render,:filename=>“default_filename.pdf”,:type=>“application/pdf”'跳过其余部分。我在初始值设定项中添加了mimetype以使其工作。