Add a new asset path in Rails 3.1
Andrew, app/assets/fonts
is actually already in your asset load path, along with images
. So you can just point to the asset in the same way: <%= asset_path('/Ubuntu/Ubuntu-R-webfont.eot') %>
[1] or how ever you are referencing your images.
It took me a while to wrap my head around this as well. I still don't know what happens if there's a file with the same name in app/assets/fonts
and app/assets/images
.
[1] Assuming you have a font at app/assets/fonts/Ubuntu/Ubuntu-R-webfont.eot
Andrew, Jason, agreed. FWIW I put this in my config/application.rb next to
# Enable the asset pipeline
config.assets.enabled = true
config.assets.paths << "#{Rails.root}/app/assets/fonts"
By creating app/assets/images
and app/assets/fonts
they will be automatically added to the assets path.
Open up rails console after creating them and check with:
y Rails.application.config.assets.paths
(y
is a shortcut for the yaml
method)
It works without adding the path, but be careful that you are using a valid file name for the asset.
url("#{asset_path 'fontawesome-webfont.eot'}?#iefix") format('embedded-opentype'),
...
url("#{asset_path 'fontawesome-webfont.svg'}#FontAwesome") format('svg');
For example, in this case, leave ?#iefix
outside the font file name