wicked_pdf_stylesheet_link_tag' application'抛出404错误

时间:2015-06-18 07:20:19

标签: ruby-on-rails wicked-pdf

我使用wicked_pdf遇到了一个奇怪的错误。

我的Mac上从来没有遇到同样的问题, 但是在我的生产中心6.6 vps上,它会抛出 404错误

wicked_pdf_stylesheet_link_tag 'application' 

我正在使用

gem 'rails', '4.1.6'
gem 'wkhtmltopdf-binary'
gem 'wicked_pdf', '~> 0.11.0'

我已尝试将application.css.scssapplication.css添加到initializer/assets.rb

Rails.application.config.assets.version = '1.1'
# Precompile additional assets.
# application.js, application.css, and all non-JS/CSS in app/assets folder are already added.
# Rails.application.config.assets.precompile += %w( search.js )

Rails.application.config.assets.precompile += %w(*.svg *.eot *.woff *.ttf *.gif *.png *.ico)
Rails.application.config.assets.precompile += %w(application.css *.js *.css *.js.coffee)

但仍无效,

任何人都知道可以做些什么?

在我用作开发机器的ubuntu 14服务器上,

wicked_pdf_image_tag object.file1.file.path 

似乎导致pdf生成器挂起。

我评论过它,它有效。我已经检查了路径是否正确。

image_tag帮助程序也会出现问题,但以html格式显示时效果不错。

完整跟踪显示:

  

/usr/local/rvm/rubies/ruby-2.1.5/lib/ruby/2.1.0/open-uri.rb:353:in   open_http' /usr/local/rvm/rubies/ruby-2.1.5/lib/ruby/2.1.0/open-uri.rb:724:in buffer_open'   /usr/local/rvm/rubies/ruby-2.1.5/lib/ruby/2.1.0/open-uri.rb:210:in   block in open_loop' /usr/local/rvm/rubies/ruby-2.1.5/lib/ruby/2.1.0/open-uri.rb:208:in 赶上'   /usr/local/rvm/rubies/ruby-2.1.5/lib/ruby/2.1.0/open-uri.rb:208:in   open_loop' /usr/local/rvm/rubies/ruby-2.1.5/lib/ruby/2.1.0/open-uri.rb:149:in open_uri'   /usr/local/rvm/rubies/ruby-2.1.5/lib/ruby/2.1.0/open-uri.rb:704:in   open' /usr/local/rvm/rubies/ruby-2.1.5/lib/ruby/2.1.0/open-uri.rb:34:in 开放' wicked_pdf(0.11.0)lib / wicked_pdf / wicked_pdf_helper.rb:111:in   read_from_uri' wicked_pdf (0.11.0) lib/wicked_pdf/wicked_pdf_helper.rb:100:in read_asset' wicked_pdf   (0.11.0)lib / wicked_pdf / wicked_pdf_helper.rb:40:in block in wicked_pdf_stylesheet_link_tag' wicked_pdf (0.11.0) lib/wicked_pdf/wicked_pdf_helper.rb:38:in收集' wicked_pdf   (0.11.0)lib / wicked_pdf / wicked_pdf_helper.rb:38:in:   wicked_pdf_stylesheet_link_tag' app/views/layouts/pdf.html.slim:5:in _ app_views_layouts_pdf_html_slim ___ 1321156534865974876_43089880'   actionview(4.1.6)lib / action_view / template.rb:145:在block in render' activesupport (4.1.6) lib/active_support/notifications.rb:161:in工具'的ActionView   (4.1.6)lib / action_view / template.rb:339:在instrument' actionview (4.1.6) lib/action_view/template.rb:143:in渲染' actionview(4.1.6)   LIB / ACTION_VIEW /渲染/ template_renderer.rb:67:在   render_with_layout' actionview (4.1.6) lib/action_view/renderer/template_renderer.rb:53:in render_template'   actionview(4.1.6)lib / action_view / renderer / template_renderer.rb:17:in   render' actionview (4.1.6) lib/action_view/renderer/renderer.rb:42:in render_template' actionview(4.1.6)   lib / action_view / renderer / renderer.rb:23:在render' actionview (4.1.6) lib/action_view/rendering.rb:99:in _ render_template' ActionPack的   (4.1.6)lib / action_controller / metal / streaming.rb:217:in   _render_template' actionview (4.1.6) lib/action_view/rendering.rb:82:in render_to_body' actionpack(4.1.6)   lib / action_controller / metal / rendering.rb:32:在render_to_body' actionpack (4.1.6) lib/action_controller/metal/renderers.rb:32:in render_to_body' actionpack(4.1.6)   lib / abstract_controller / rendering.rb:43:在render_to_string' actionpack (4.1.6) lib/action_controller/metal/rendering.rb:21:in render_to_string' wicked_pdf(0.11.0)   lib / wicked_pdf / pdf_helper.rb:34:in render_to_string_with_wicked_pdf' wicked_pdf (0.11.0) lib/wicked_pdf/pdf_helper.rb:61:in make_pdf'   wicked_pdf(0.11.0)lib / wicked_pdf / pdf_helper.rb:32:in   render_to_string_with_wicked_pdf' app/controllers/concerns/has_pdf_response.rb:15:in respond_to_pdf'   app / controllers / quotations_controller.rb:23:in block (2 levels) in show' actionpack (4.1.6) lib/action_controller/metal/mime_responds.rb:258:in来电' ActionPack的   (4.1.6)lib / action_controller / metal / mime_responds.rb:258:in   respond_to' app/controllers/quotations_controller.rb:20:in节目'   actionpack(4.1.6)lib / action_controller / metal / implicit_render.rb:4:in   send_action' actionpack (4.1.6) lib/abstract_controller/base.rb:189:in process_action' ActionPack的   (4.1.6)lib / action_controller / metal / rendering.rb:10:in   进程中的process_action' actionpack (4.1.6) lib/abstract_controller/callbacks.rb:20:in阻止'   activesupport(4.1.6)lib / active_support / callbacks.rb:113:call' activesupport (4.1.6) lib/active_support/callbacks.rb:113:in来电'   activesupport(4.1.6)lib / active_support / callbacks.rb:166:in block in halting' activesupport (4.1.6) lib/active_support/callbacks.rb:166:in call' activesupport(4.1.6)lib / active_support / callbacks.rb:166:in   block in halting' activesupport (4.1.6) lib/active_support/callbacks.rb:149:in呼叫' activesupport(4.1.6)   lib / active_support / callbacks.rb:149:在block in halting_and_conditional' activesupport (4.1.6) lib/active_support/callbacks.rb:229:in来电' activesupport(4.1.6)   lib / active_support / callbacks.rb:229:block in halting' activesupport (4.1.6) lib/active_support/callbacks.rb:229:in来电'   activesupport(4.1.6)lib / active_support / callbacks.rb:229:in block in halting' activesupport (4.1.6) lib/active_support/callbacks.rb:166:in call' activesupport(4.1.6)lib / active_support / callbacks.rb:166:in   block in halting' activesupport (4.1.6) lib/active_support/callbacks.rb:166:in呼叫' activesupport(4.1.6)   lib / active_support / callbacks.rb:166:in block in halting' activesupport (4.1.6) lib/active_support/callbacks.rb:166:in来电'   activesupport(4.1.6)lib / active_support / callbacks.rb:166:in block in halting' activesupport (4.1.6) lib/active_support/callbacks.rb:229:in call' activesupport(4.1.6)lib / active_support / callbacks.rb:229:in   block in halting' activesupport (4.1.6) lib/active_support/callbacks.rb:166:in呼叫' activesupport(4.1.6)   lib / active_support / callbacks.rb:166:in block in halting' activesupport (4.1.6) lib/active_support/callbacks.rb:166:in来电'   activesupport(4.1.6)lib / active_support / callbacks.rb:166:in block in halting' activesupport (4.1.6) lib/active_support/callbacks.rb:229:in call' activesupport(4.1.6)lib / active_support / callbacks.rb:229:in   block in halting' activesupport (4.1.6) lib/active_support/callbacks.rb:166:in呼叫' activesupport(4.1.6)   lib / active_support / callbacks.rb:166:in block in halting' activesupport (4.1.6) lib/active_support/callbacks.rb:166:in来电'   activesupport(4.1.6)lib / active_support / callbacks.rb:166:in block in halting' activesupport (4.1.6) lib/active_support/callbacks.rb:166:in call' activesupport(4.1.6)lib / active_support / callbacks.rb:166:in   block in halting' activesupport (4.1.6) lib/active_support/callbacks.rb:166:in呼叫' activesupport(4.1.6)   lib / active_support / callbacks.rb:166:in block in halting' activesupport (4.1.6) lib/active_support/callbacks.rb:86:in来电'   activesupport(4.1.6)lib / active_support / callbacks.rb:86:in   run_callbacks' actionpack (4.1.6) lib/abstract_controller/callbacks.rb:19:in process_action' ActionPack的   (4.1.6)lib / action_controller / metal / rescue.rb:29:在process_action' actionpack (4.1.6) lib/action_controller/metal/instrumentation.rb:31:in块中   process_action' activesupport(4.1.6)   lib / active_support / notifications.rb:159:在block in instrument' activesupport (4.1.6) lib/active_support/notifications/instrumenter.rb:20:in工具'   activesupport(4.1.6)lib / active_support / notifications.rb:159:in   instrument' actionpack (4.1.6) lib/action_controller/metal/instrumentation.rb:30:in process_action'   actionpack(4.1.6)   lib / action_controller / metal / params_wrapper.rb:250:在process_action' activerecord (4.1.6) lib/active_record/railties/controller_runtime.rb:18:in process_action' actionpack(4.1.6)   lib / abstract_controller / base.rb:136:在process' actionview (4.1.6) lib/action_view/rendering.rb:30:in进程' actionpack(4.1.6)   lib / action_controller / metal.rb:196:在dispatch' actionpack (4.1.6) lib/action_controller/metal/rack_delegation.rb:13:in发送'   actionpack(4.1.6)lib / action_controller / metal.rb:232:在block in action' actionpack (4.1.6) lib/action_dispatch/routing/route_set.rb:82:in调用' ActionPack的   (4.1.6)lib / action_dispatch / routing / route_set.rb:82:in dispatch' actionpack (4.1.6) lib/action_dispatch/routing/route_set.rb:50:in call' actionpack(4.1.6)lib / action_dispatch / journey / router.rb:73:in   block in call' actionpack (4.1.6) lib/action_dispatch/journey/router.rb:59:in各' actionpack(4.1.6)   lib / action_dispatch / journey / router.rb:59:call' actionpack (4.1.6) lib/action_dispatch/routing/route_set.rb:678:in来电'机架pjax   (0.8.0)lib / rack / pjax.rb:12:in call' warden (1.2.3) lib/warden/manager.rb:35:in阻止通话'监狱长(1.2.3)   lib / warden / manager.rb:34:in catch' warden (1.2.3) lib/warden/manager.rb:34:in来电' rack(1.5.2)lib / rack / etag.rb:23:in   call' rack (1.5.2) lib/rack/conditionalget.rb:25:in呼叫'架   (1.5.2)lib / rack / head.rb:11:in call' remotipart (1.2.1) lib/remotipart/middleware.rb:27:in来电' actionpack(4.1.6)   lib / action_dispatch / middleware / params_parser.rb:27:in call' actionpack (4.1.6) lib/action_dispatch/middleware/flash.rb:254:in 来电' rack(1.5.2)lib / rack / session / abstract / id.rb:225:在context' rack (1.5.2) lib/rack/session/abstract/id.rb:220:in电话' ActionPack的   (4.1.6)lib / action_dispatch / middleware / cookies.rb:560:在call' activerecord (4.1.6) lib/active_record/query_cache.rb:36:in电话'   activerecord(4.1.6)   LIB / active_record / connection_adapters /抽象/ connection_pool.rb:621:在   call' actionpack (4.1.6) lib/action_dispatch/middleware/callbacks.rb:29:in阻止通话'   activesupport(4.1.6)lib / active_support / callbacks.rb:82:in   run_callbacks' actionpack (4.1.6) lib/action_dispatch/middleware/callbacks.rb:27:in呼叫' ActionPack的   (4.1.6)lib / action_dispatch / middleware / reloader.rb:73:在call' actionpack (4.1.6) lib/action_dispatch/middleware/remote_ip.rb:76:in 电话' actionpack(4.1.6)   lib / action_dispatch / middleware / debug_exceptions.rb:17:in call' actionpack (4.1.6) lib/action_dispatch/middleware/show_exceptions.rb:30:in call'   railties(4.1.6)lib / rails / rack / logger.rb:38:in call_app' railties (4.1.6) lib/rails/rack/logger.rb:20:in阻止电话'的ActiveSupport   (4.1.6)lib / active_support / tagged_logging.rb:68:在block in tagged' activesupport (4.1.6) lib/active_support/tagged_logging.rb:26:in 标记的' activesupport(4.1.6)   lib / active_support / tagged_logging.rb:68:in tagged' railties (4.1.6) lib/rails/rack/logger.rb:20:in来电' actionpack(4.1.6)   lib / action_dispatch / middleware / request_id.rb:21:in call' rack (1.5.2) lib/rack/methodoverride.rb:21:in来电'机架(1.5.2)   lib / rack / runtime.rb:17:in call' activesupport (4.1.6) lib/active_support/cache/strategy/local_cache_middleware.rb:26:in call' rack(1.5.2)lib / rack / lock.rb:17:in call' actionpack (4.1.6) lib/action_dispatch/middleware/static.rb:64:in call'机架(1.5.2)   lib / rack / sendfile.rb:112:call' railties (4.1.6) lib/rails/engine.rb:514:in来电'铁路(4.1.6)   lib / rails / application.rb:144:在call' passenger (4.0.56) lib/phusion_passenger/rack/thread_handler_extension.rb:74:in process_request'乘客(4.0.56)   LIB / phusion_passenger / request_handler / thread_handler.rb:141:在   accept_and_process_next_request' passenger (4.0.56) lib/phusion_passenger/request_handler/thread_handler.rb:109:in 中main_loop'乘客(4.0.56)   lib / phusion_passenger / request_handler.rb:455:在`block(3个级别)中   start_threads'

1 个答案:

答案 0 :(得分:1)

事实证明,当我打电话时,我已经指出了我的图像的绝对路径 的 wicked_pdf_image_tag 该功能实际指向     root_path.join(' 公开',' 图片')

解决方案是创建一个新方法或只使用此代码:     image_tag" file:// absolute_path_to_img_here",options

[http://www.rubydoc.info/github/mileszs/wicked_pdf/WickedPdfHelper%3Awicked_pdf_image_tag][1]