更新时间:2023-11-10 16:12:46
使用asset_path在css文件中使用资源(在您的application.css文件中添加erb扩展名,然后asset_path在您的CSS规则中可用)
pre $ code> @ font-face {
font-family:'fontello';
src:url('<%= asset_path(fontello.eot)%>');
src:url('<%= asset_path(fontello.eot#iefix)%>')format('embedded-opentype'),
url('<%= asset_path( 'fontello.woff)%>')format('woff'),
url('<%= asset_path(fontello.ttf)%>')format('truetype');
}
I am trying to include my custom font in Rails.
My file fonts are in app/assets/fonts/
.
I edited CSS:
# in app/assets/stylesheets/application.css
@font-face {
font-family: 'fontello';
src: url('fonts/fontello.eot');
src: url('fonts/fontello.eot#iefix')format('embedded-opentype'),
url('fonts/fontello.woff') format('woff'),
url('fonts/fontello.ttf') format('truetype');
}
I tried to change the path url('assets/fonts/fontello.eot');
url('fontello.eot');
too.
I edited the config:
# in config/application.rb
require File.expand_path('../boot', __FILE__)
require 'rails/all'
Bundler.require(:default, Rails.env)
module Gui
class Application < Rails::Application
config.assets.paths << Rails.root.join('app', 'assets', 'fonts')
end
end
But it doesn't work.
I use Rails 4.0.2.
You need to use asset_path for use an asset in a css file ( add erb extension to your application.css file then asset_path are available in your CSS rules)
@font-face {
font-family: 'fontello';
src: url('<%= asset_path("fontello.eot") %>');
src: url('<%= asset_path("fontello.eot#iefix") %>') format('embedded-opentype'),
url('<%= asset_path("fontello.woff") %>') format('woff'),
url('<%= asset_path("fontello.ttf") %>') format('truetype');
}