Heroku Rails asset pipeline fails to precompile after adding font -


i'm trying add font rails app i've done:

added fonts to:

-app --assets ---fonts 

scss:

@font-face {   font-family: ligaturesymbols;    src: font-url('ligaturesymbols211.eot');   src: local('ligaturesymbols'),        font-url('ligaturesymbols211.eot?#iefix') format('embedded-opentype'),        font-url('ligaturesymbols211.woff') format('woff'),        font-url('ligaturesymbols211.ttf') format('truetype'),        font-url('ligaturesymbols211.svg#ligaturesymbols') format('svg');    font-weight: normal;   font-style: normal; } 

production.rb:

config.assets.paths << rails.root.join('app', 'assets', 'fonts') config.assets.precompile += %w( .svg .eot .woff .ttf ) 

but when push heroku production server this:

-----> preparing app rails asset pipeline        running: rake assets:precompile        i, [2013-05-06t06:21:07.804043 #2036]  info -- : writing /tmp/build_2snusxy9gm4d7/public/assets/ligaturesymbols211-c5b7db18fa0fcd910e92fee751776047.eot        i, [2013-05-06t06:21:07.809822 #2036]  info -- : writing /tmp/build_2snusxy9gm4d7/public/assets/ligaturesymbols211-09ff8be41a6bee98c834e9a278bb8b28.otf        i, [2013-05-06t06:21:07.812685 #2036]  info -- : writing /tmp/build_2snusxy9gm4d7/public/assets/ligaturesymbols211-1f682b1be252dbf6182d606a185b603f.svg        i, [2013-05-06t06:21:07.819262 #2036]  info -- : writing /tmp/build_2snusxy9gm4d7/public/assets/ligaturesymbols211-9e88765b872185b22e519da056cba9f0.ttf        i, [2013-05-06t06:21:07.829518 #2036]  info -- : writing /tmp/build_2snusxy9gm4d7/public/assets/ligaturesymbols211-a2d90ca6deff46bfcf9cade63d4902ce.woff        i, [2013-05-06t06:21:07.838351 #2036]  info -- : writing /tmp/build_2snusxy9gm4d7/public/assets/rails-5f9b3f343d9831cbf50b9bc980faf39b.png        i, [2013-05-06t06:21:17.072501 #2036]  info -- : writing /tmp/build_2snusxy9gm4d7/public/assets/application-6af5b81b9fcc820f1d43b4135f00317e.js        rake aborted!        undefined method `[]' nil:nilclass        (in /tmp/build_2snusxy9gm4d7/app/assets/stylesheets/application.css) 

i tried add required line in application.css wouldn't work either.

edit:

i can access localhost:5000/assets/ligaturesymbols-2.11.eot on dev machine when running server. not sure if might narrow what's going wrong

edit 2:

the code works scss font commented out, there syntax error?

edit 3:

this @ top of trace stack:

.../sprockets-2.9.2/lib/sprockets/sass_functions.rb:63:in `sprockets_context' .../sprockets-2.9.2/lib/sprockets/sass_functions.rb:42:in `font_url' 

is there wrong font-url calls?

edit 4:

removed dashes font filenames , changed scss reflect, same error persists

edit 5:

generated css on local machine:

@font-face {   font-family: ligaturesymbols;   src: font-url("ligaturesymbols211.eot");   src: local("ligaturesymbols"), font-url("ligaturesymbols211.eot?#iefix") format("embedded-opentype"), font-url("ligaturesymbols211.woff") format("woff"), font-url("ligaturesymbols211.ttf") format("truetype"), font-url("ligaturesymbols211.svg#ligaturesymbols") format("svg");   font-weight: normal;   font-style: normal; } 

i found out! strangest thing... might bug in sass.

if put code directly in file home.css.scss required in application.css, error occur.

additionally, if placed font scss in seperate file (font.scss) , @import "font" raise error.

only if required font.scss file in application.css asset pipeline pass.

it didn't matter if used font-url(...) vs asset-url(...,font) vs url(asset-path(...,font)) work when font included via =require in application.css


Comments