wicked-pdf在生成文件时挂起服务器

时间:2014-10-18 12:00:59

标签: macos ruby-on-rails-3.2 wicked-pdf

在rails 3.2.18应用程序中,在gem文件中声明了wicked_pdf(0.11.0)和wkhtmltopdf-binary(0.9.9.3),mime-types.rb被修改为包含Mime::Type.register "application/pdf", :pdf否则,在启动Thin on osX开发平台时,会发出以下警告:

/Users/it/.rvm/gems/ruby-1.9.3-p125@app/gems/actionpack-3.2.18/lib/action_dispatch/http/mime_type.rb:102: warning: already initialized constant PDF

初始化程序状态

WickedPdf.config = {
  :exe_path => '/usr/local/bin/wkhtmltopdf'
}

路径/usr/local/bin确实包含wkhtmltopdf的别名。在节目视图中:

  def show
    @transaction = Transaction.find(params[:id])

    respond_to do |format|
      format.html { render :layout => 'pdf' } # show.html.erb
      format.pdf do
        render :pdf => "invoice_name"
      end
      format.json { render json: @transaction }
    end
  end

show视图呈现得恰当。使用.pdf附加路径并在控制台中注册:

"***************[\"/usr/local/bin/wkhtmltopdf\", \"-q\", \"file:///var/folders/kV/kVDOSPkcEuqSVnTjenAVRE+++TI/-Tmp-/wicked_pdf20141018-1401-m614pd.html\", \"/var/folders/kV/kVDOSPkcEuqSVnTjenAVRE+++TI/-Tmp-/wicked_pdf_generated_file20141018-1401-1hor23g.pdf\"]***************"

服务器挂起。它被ctrl-c中断,然后服务器控制台添加:

[...]
Rendered transactions/show.pdf.erb (12.1ms)
Rendered text template (0.0ms)
Sent data invoice_name.pdf  (18.8ms)
Completed 200 OK in 36322.7ms (Views: 15.2ms | ActiveRecord: 3.0ms)
Exiting

它没有做到。简单地生成文件并保存文件的其他尝试导致不生成PDF文件,但没有挂起Thin服务器。所以发动机并非都运转正常......

设置有什么问题?

1 个答案:

答案 0 :(得分:5)

回顾过去成功运行wicked-pdf,解决了不同之处提供了解决方案:删除初始化程序允许进程运行。