Skip to content
This repository has been archived by the owner on Jan 26, 2019. It is now read-only.

Sprockets::FileNotFound thrown if component includes external CSS #16

Closed
rootpd opened this issue Jul 13, 2014 · 4 comments
Closed

Sprockets::FileNotFound thrown if component includes external CSS #16

rootpd opened this issue Jul 13, 2014 · 4 comments

Comments

@rootpd
Copy link

rootpd commented Jul 13, 2014

I've installed Polymer/paper-button component from bower
( bower install Polymer/paper-button )
which includes Google's web font in CSS.

When evaluating external link, Sprockets::FileNotFound is being thrown. If local CSS is used, it works as expected.

Link tag which throws the error:

<!-- app/assets/components/font-roboto\roboto.html -->
<link href='//fonts.googleapis.com/css?family=RobotoDraft:regular,bold,italic,thin,light,bolditalic,black,medium&lang=en' rel='stylesheet' type='text/css'>

Stack trace:

sprockets (2.11.0) lib/sprockets/context.rb:87:in `resolve'
sprockets (2.11.0) lib/sprockets/context.rb:178:in `evaluate'
emcee (1.0.3) lib/emcee/post_processors/stylesheet_processor.rb:25:in `block in inline_styles'
nokogiri-1.6.2.1-x86 (mingw32) lib/nokogiri/xml/node_set.rb:237:in `block in each'
nokogiri-1.6.2.1-x86 (mingw32) lib/nokogiri/xml/node_set.rb:236:in `upto'
nokogiri-1.6.2.1-x86 (mingw32) lib/nokogiri/xml/node_set.rb:236:in `each'
emcee (1.0.3) lib/emcee/post_processors/stylesheet_processor.rb:23:in `inline_styles'
emcee (1.0.3) lib/emcee/post_processors/stylesheet_processor.rb:16:in `process'
emcee (1.0.3) lib/emcee/railtie.rb:26:in `block (2 levels) in <class:Railtie>'
sprockets (2.11.0) lib/sprockets/processor.rb:29:in `call'
sprockets (2.11.0) lib/sprockets/processor.rb:29:in `evaluate'
tilt (1.4.1) lib/tilt/template.rb:103:in `render'
sprockets (2.11.0) lib/sprockets/context.rb:197:in `block in evaluate'
sprockets (2.11.0) lib/sprockets/context.rb:194:in `each'
sprockets (2.11.0) lib/sprockets/context.rb:194:in `evaluate'
sprockets (2.11.0) lib/sprockets/processed_asset.rb:12:in `initialize'
sprockets (2.11.0) lib/sprockets/base.rb:374:in `new'
sprockets (2.11.0) lib/sprockets/base.rb:374:in `block in build_asset'
sprockets (2.11.0) lib/sprockets/base.rb:395:in `circular_call_protection'
sprockets (2.11.0) lib/sprockets/base.rb:373:in `build_asset'
sprockets (2.11.0) lib/sprockets/index.rb:94:in `block in build_asset'
sprockets (2.11.0) lib/sprockets/caching.rb:58:in `cache_asset'
sprockets (2.11.0) lib/sprockets/index.rb:93:in `build_asset'
sprockets (2.11.0) lib/sprockets/base.rb:287:in `find_asset'
sprockets (2.11.0) lib/sprockets/index.rb:61:in `find_asset'
sprockets (2.11.0) lib/sprockets/processed_asset.rb:44:in `block in init_with'
sprockets (2.11.0) lib/sprockets/processed_asset.rb:37:in `map'
sprockets (2.11.0) lib/sprockets/processed_asset.rb:37:in `init_with'
sprockets (2.11.0) lib/sprockets/asset.rb:24:in `from_hash'
sprockets (2.11.0) lib/sprockets/caching.rb:54:in `cache_asset'
sprockets (2.11.0) lib/sprockets/index.rb:93:in `build_asset'
sprockets (2.11.0) lib/sprockets/base.rb:287:in `find_asset'
sprockets (2.11.0) lib/sprockets/index.rb:61:in `find_asset'
sprockets (2.11.0) lib/sprockets/bundled_asset.rb:37:in `init_with'
sprockets (2.11.0) lib/sprockets/asset.rb:24:in `from_hash'
sprockets (2.11.0) lib/sprockets/caching.rb:54:in `cache_asset'
sprockets (2.11.0) lib/sprockets/index.rb:93:in `build_asset'
sprockets (2.11.0) lib/sprockets/base.rb:287:in `find_asset'
sprockets (2.11.0) lib/sprockets/index.rb:61:in `find_asset'
sprockets (2.11.0) lib/sprockets/environment.rb:75:in `find_asset'
sprockets (2.11.0) lib/sprockets/base.rb:295:in `[]'
sprockets-rails (2.0.1) lib/sprockets/rails/helper.rb:77:in `asset_digest_path'
sprockets-rails (2.0.1) lib/sprockets/rails/helper.rb:40:in `compute_asset_path'
actionpack (4.0.5) lib/action_view/helpers/asset_url_helper.rb:132:in `asset_path'
emcee (1.0.3) lib/emcee/helpers/asset_url_helper.rb:11:in `path_to_html'
emcee (1.0.3) lib/emcee/helpers/asset_tag_helper.rb:16:in `block in html_import_tag'
emcee (1.0.3) lib/emcee/helpers/asset_tag_helper.rb:13:in `map'
emcee (1.0.3) lib/emcee/helpers/asset_tag_helper.rb:13:in `html_import_tag'
emcee (1.0.3) lib/emcee/helpers/sprockets_helper.rb:24:in `html_import_tag'
actionpack (4.0.5) lib/action_view/template.rb:143:in `block in render'
activesupport (4.0.5) lib/active_support/notifications.rb:161:in `instrument'
actionpack (4.0.5) lib/action_view/template.rb:141:in `render'
actionpack (4.0.5) lib/action_view/renderer/template_renderer.rb:61:in `render_with_layout'
actionpack (4.0.5) lib/action_view/renderer/template_renderer.rb:47:in `render_template'
actionpack (4.0.5) lib/action_view/renderer/template_renderer.rb:17:in `render'
actionpack (4.0.5) lib/action_view/renderer/renderer.rb:42:in `render_template'
actionpack (4.0.5) lib/action_view/renderer/renderer.rb:23:in `render'
actionpack (4.0.5) lib/abstract_controller/rendering.rb:127:in `_render_template'
actionpack (4.0.5) lib/action_controller/metal/streaming.rb:219:in `_render_template'
actionpack (4.0.5) lib/abstract_controller/rendering.rb:120:in `render_to_body'
actionpack (4.0.5) lib/action_controller/metal/rendering.rb:33:in `render_to_body'
actionpack (4.0.5) lib/action_controller/metal/renderers.rb:26:in `render_to_body'
actionpack (4.0.5) lib/abstract_controller/rendering.rb:97:in `render'
actionpack (4.0.5) lib/action_controller/metal/rendering.rb:16:in `render'
actionpack (4.0.5) lib/action_controller/metal/instrumentation.rb:41:in `block (2 levels) in render'
activesupport (4.0.5) lib/active_support/core_ext/benchmark.rb:12:in `block in ms'
C:/Ruby/lib/ruby/2.0.0/benchmark.rb:296:in `realtime'
activesupport (4.0.5) lib/active_support/core_ext/benchmark.rb:12:in `ms'
actionpack (4.0.5) lib/action_controller/metal/instrumentation.rb:41:in `block in render'
actionpack (4.0.5) lib/action_controller/metal/instrumentation.rb:84:in `cleanup_view_runtime'
activerecord (4.0.5) lib/active_record/railties/controller_runtime.rb:25:in `cleanup_view_runtime'
actionpack (4.0.5) lib/action_controller/metal/instrumentation.rb:40:in `render'
actionpack (4.0.5) lib/action_controller/metal/implicit_render.rb:10:in `default_render'
actionpack (4.0.5) lib/action_controller/metal/implicit_render.rb:5:in `send_action'
actionpack (4.0.5) lib/abstract_controller/base.rb:189:in `process_action'
actionpack (4.0.5) lib/action_controller/metal/rendering.rb:10:in `process_action'
actionpack (4.0.5) lib/abstract_controller/callbacks.rb:18:in `block in process_action'
activesupport (4.0.5) lib/active_support/callbacks.rb:403:in `_run__199402322__process_action__callbacks'
activesupport (4.0.5) lib/active_support/callbacks.rb:80:in `run_callbacks'
actionpack (4.0.5) lib/abstract_controller/callbacks.rb:17:in `process_action'
actionpack (4.0.5) lib/action_controller/metal/rescue.rb:29:in `process_action'
actionpack (4.0.5) lib/action_controller/metal/instrumentation.rb:31:in `block in process_action'
activesupport (4.0.5) lib/active_support/notifications.rb:159:in `block in instrument'
activesupport (4.0.5) lib/active_support/notifications/instrumenter.rb:20:in `instrument'
activesupport (4.0.5) lib/active_support/notifications.rb:159:in `instrument'
actionpack (4.0.5) lib/action_controller/metal/instrumentation.rb:30:in `process_action'
actionpack (4.0.5) lib/action_controller/metal/params_wrapper.rb:250:in `process_action'
activerecord (4.0.5) lib/active_record/railties/controller_runtime.rb:18:in `process_action'
actionpack (4.0.5) lib/abstract_controller/base.rb:136:in `process'
actionpack (4.0.5) lib/abstract_controller/rendering.rb:44:in `process'
actionpack (4.0.5) lib/action_controller/metal.rb:195:in `dispatch'
actionpack (4.0.5) lib/action_controller/metal/rack_delegation.rb:13:in `dispatch'
actionpack (4.0.5) lib/action_controller/metal.rb:231:in `block in action'
actionpack (4.0.5) lib/action_dispatch/routing/route_set.rb:80:in `call'
actionpack (4.0.5) lib/action_dispatch/routing/route_set.rb:80:in `dispatch'
actionpack (4.0.5) lib/action_dispatch/routing/route_set.rb:48:in `call'
actionpack (4.0.5) lib/action_dispatch/journey/router.rb:71:in `block in call'
actionpack (4.0.5) lib/action_dispatch/journey/router.rb:59:in `each'
actionpack (4.0.5) lib/action_dispatch/journey/router.rb:59:in `call'
actionpack (4.0.5) lib/action_dispatch/routing/route_set.rb:674:in `call'
omniauth (1.2.1) lib/omniauth/strategy.rb:186:in `call!'
omniauth (1.2.1) lib/omniauth/strategy.rb:164:in `call'
omniauth (1.2.1) lib/omniauth/strategy.rb:186:in `call!'
omniauth (1.2.1) lib/omniauth/strategy.rb:164:in `call'
omniauth (1.2.1) lib/omniauth/strategy.rb:186:in `call!'
omniauth (1.2.1) lib/omniauth/strategy.rb:164:in `call'
omniauth (1.2.1) lib/omniauth/strategy.rb:186:in `call!'
omniauth (1.2.1) lib/omniauth/strategy.rb:164:in `call'
omniauth (1.2.1) lib/omniauth/strategy.rb:186:in `call!'
omniauth (1.2.1) lib/omniauth/strategy.rb:164:in `call'
omniauth (1.2.1) lib/omniauth/builder.rb:59:in `call'
meta_request (0.3.0) lib/meta_request/middlewares/app_request_handler.rb:13:in `call'
rack-contrib (1.1.0) lib/rack/contrib/response_headers.rb:17:in `call'
meta_request (0.3.0) lib/meta_request/middlewares/headers.rb:16:in `call'
meta_request (0.3.0) lib/meta_request/middlewares/meta_request_handler.rb:13:in `call'
rack (1.5.2) lib/rack/etag.rb:23:in `call'
rack (1.5.2) lib/rack/conditionalget.rb:25:in `call'
rack (1.5.2) lib/rack/head.rb:11:in `call'
actionpack (4.0.5) lib/action_dispatch/middleware/params_parser.rb:27:in `call'
actionpack (4.0.5) lib/action_dispatch/middleware/flash.rb:241:in `call'
rack (1.5.2) lib/rack/session/abstract/id.rb:225:in `context'
rack (1.5.2) lib/rack/session/abstract/id.rb:220:in `call'
actionpack (4.0.5) lib/action_dispatch/middleware/cookies.rb:486:in `call'
activerecord (4.0.5) lib/active_record/query_cache.rb:36:in `call'
activerecord (4.0.5) lib/active_record/connection_adapters/abstract/connection_pool.rb:626:in `call'
activerecord (4.0.5) lib/active_record/migration.rb:373:in `call'
actionpack (4.0.5) lib/action_dispatch/middleware/callbacks.rb:29:in `block in call'
activesupport (4.0.5) lib/active_support/callbacks.rb:373:in `_run__664727201__call__callbacks'
activesupport (4.0.5) lib/active_support/callbacks.rb:80:in `run_callbacks'
actionpack (4.0.5) lib/action_dispatch/middleware/callbacks.rb:27:in `call'
actionpack (4.0.5) lib/action_dispatch/middleware/reloader.rb:64:in `call'
actionpack (4.0.5) lib/action_dispatch/middleware/remote_ip.rb:76:in `call'
actionpack (4.0.5) lib/action_dispatch/middleware/debug_exceptions.rb:17:in `call'
actionpack (4.0.5) lib/action_dispatch/middleware/show_exceptions.rb:30:in `call'
railties (4.0.5) lib/rails/rack/logger.rb:38:in `call_app'
railties (4.0.5) lib/rails/rack/logger.rb:20:in `block in call'
activesupport (4.0.5) lib/active_support/tagged_logging.rb:68:in `block in tagged'
activesupport (4.0.5) lib/active_support/tagged_logging.rb:26:in `tagged'
activesupport (4.0.5) lib/active_support/tagged_logging.rb:68:in `tagged'
railties (4.0.5) lib/rails/rack/logger.rb:20:in `call'
actionpack (4.0.5) lib/action_dispatch/middleware/request_id.rb:21:in `call'
rack (1.5.2) lib/rack/methodoverride.rb:21:in `call'
rack (1.5.2) lib/rack/runtime.rb:17:in `call'
activesupport (4.0.5) lib/active_support/cache/strategy/local_cache.rb:83:in `call'
rack (1.5.2) lib/rack/lock.rb:17:in `call'
actionpack (4.0.5) lib/action_dispatch/middleware/static.rb:64:in `call'
rack (1.5.2) lib/rack/sendfile.rb:112:in `call'
railties (4.0.5) lib/rails/engine.rb:511:in `call'
railties (4.0.5) lib/rails/application.rb:97:in `call'
rack (1.5.2) lib/rack/lock.rb:17:in `call'
rack (1.5.2) lib/rack/content_length.rb:14:in `call'
rack (1.5.2) lib/rack/handler/webrick.rb:60:in `service'
C:/Ruby/lib/ruby/2.0.0/webrick/httpserver.rb:138:in `service'
C:/Ruby/lib/ruby/2.0.0/webrick/httpserver.rb:94:in `run'
C:/Ruby/lib/ruby/2.0.0/webrick/server.rb:295:in `block in start_thread'
@ahuth
Copy link
Owner

ahuth commented Jul 13, 2014

Can you please provide the full error message you get from rails? For instance, for me it would look like:

couldn't find file '/Users/andrew/Documents/rails/emcee_test/app/assets/components/test/http:/fonts.googleapis.com/css?family=RobotoDraft:regular,bold,italic,thin,light,bolditalic,black,medium&lang=en'
  (in /Users/andrew/Documents/rails/emcee_test/app/assets/components/test/test.html)

I want to see what path it's looking at.

Thanks!

@rootpd
Copy link
Author

rootpd commented Jul 13, 2014

Hi, sure.

couldn't find file
'//fonts.googleapis.com/css?family=RobotoDraft:regular,bold,italic,thin,light,bolditalic,black,medium&lang=en'
  (in D:/workspace/woodstock/app/assets/components/font-roboto/roboto.html)

2014-07-13 16:36 GMT+02:00 Andrew notifications@github.com:

Can you please provide the full error message you get from rails? For
instance, for me it would look like:

couldn't find file '/Users/andrew/Documents/rails/emcee_test/app/assets/components/test/http:/fonts.googleapis.com/css?family=RobotoDraft:regular,bold,italic,thin,light,bolditalic,black,medium&lang=en'
(in /Users/andrew/Documents/rails/emcee_test/app/assets/components/test/test.html)

I want to see what path it's looking at.

Thanks!


Reply to this email directly or view it on GitHub
#16 (comment).

@ahuth
Copy link
Owner

ahuth commented Jul 13, 2014

Thanks, although I just realized that the path is not the issue. The problem is that Sprockets isn't designed to work with external content like that. I'm going to work on not trying to inline external content, and should have something working soon.

@ahuth
Copy link
Owner

ahuth commented Jul 14, 2014

@rootpd, this has been fixed in master, although it hasn't made it to a release, yet.

Now, when Emcee see's an external reference to a stylesheet, it doesn't attempt to inline it. If you get a chance, test this out and let me know that it works for you.

Thanks!

@ahuth ahuth closed this as completed Jul 14, 2014
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants