我知道这是一个古老的问题,但我一直在挖掘我的头脑。通过SO的所有链接但仍无法解决此问题。
我的字体位于assets目录中的fonts目录中。如果我尝试使用asset-url
,则会在我的字体位于目录中时发出错误,说我找不到Barrio字体。
# application.rb
config.assets.paths << "#{Rails.root}/app/assets/fonts"
config.assets.precompile += %w( .otf )
# style.scss
@font-face {
font-family: "Barrio-Regular";
src: asset-url("Barrio-Regular.otf");
}
.catagories-list {
label {
font-family: "Barrio-Regular, Arial, Helvetica, sans-serif";
font-size: 18px;
}
li {
a {
color: #2c2c2c;
}
margin-bottom: 10px;
text-indent: 20px;
&.active a {
text-decoration: underline;
color: #2f2993;
}
}
}
答案 0 :(得分:0)
我认为错误将由此行引起:
config.assets.paths << "#{Rails.root}/app/assets/fonts"
如果您的应用正在预编译资产(所有资产都放在public
文件夹中),这将如何处理?
我们通常这样做:
#app/assets/stylesheets/layout/fonts.css.sass
@font-face
font:
family: 'Ionicons'
weight: normal
style: normal
src: asset_url('layout/fonts/IonIcons/ionicons.eot?v=1.4.1')
src: asset_url('layout/fonts/IonIcons/ionicons.eot?v=1.4.1#iefix') format('embedded-opentype'), asset_url('layout/fonts/IonIcons/ionicons.ttf?v=1.4.1') format('truetype'), asset_url('layout/fonts/IonIcons/ionicons.woff?v=1.4.1') format('woff'), asset_url('layout/fonts/IonIcons/ionicons.svg?v=1.4.1#Ionicons') format('svg')
基本上,将所有字体放在#app/assets/stylesheets/layouts/fonts
目录
将字体放在app / assets / fonts /中,您无需添加 或编辑application.rb,production.rb或staging.rb中的任何内容。
#app/assets/stylesheets/application.css.scss
@font-face {
font-family: 'Barrio-Regular'
src: asset_url('Barrio-Regular.otf')
}
如果您在不更改application.rb
的情况下执行此操作,请返回系统响应的内容