在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服务器。所以发动机并非都运转正常......
设置有什么问题?
答案 0 :(得分:5)
回顾过去成功运行wicked-pdf,解决了不同之处提供了解决方案:删除初始化程序允许进程运行。