Ruby on rails 自定义字体在heroku中不起作用
使用Rails 4 我已经读了很多关于如何在heroku中使用自定义字体的文章。它们在开发模式下本地工作,但当推送到heroku时,它们不会出现 我的@font字体位于主样式表中Ruby on rails 自定义字体在heroku中不起作用,ruby-on-rails,css,heroku,ruby-on-rails-4,Ruby On Rails,Css,Heroku,Ruby On Rails 4,使用Rails 4 我已经读了很多关于如何在heroku中使用自定义字体的文章。它们在开发模式下本地工作,但当推送到heroku时,它们不会出现 我的@font字体位于主样式表中 @font-face { font-family: 'caviar_dreamsregular'; src: font-url('caviardreams-webfont.eot'); src: font-url('caviardreams-webfont.eot?#iefix') format
@font-face {
font-family: 'caviar_dreamsregular';
src: font-url('caviardreams-webfont.eot');
src: font-url('caviardreams-webfont.eot?#iefix') format('embedded-opentype'),
font-url('caviardreams-webfont.woff') format('woff'),
font-url('caviardreams-webfont.ttf') format('truetype'),
font-url('caviardreams-webfont.svg#caviar_dreamsregular') format('svg');
font-weight: normal;
font-style: normal;
}
Application.rb
config.assets.paths << "#{Rails.root}/app/assets/fonts"
Heroku日志中没有错误
我想不通,有人有什么建议吗
更新:
访问了我手机上的网站,字体很好用。。。已清除计算机上的缓存,但仍无法在计算机上工作。这可能是由于几个问题造成的;最值得注意的是,我建议您不要使用动态资产路径:
指纹识别 Rails在预编译资产时使用 这样做的原因是允许将每个资产单独分配给系统,从而提供更健壮的结构(或其他)。基本上,它会在资产文件名的末尾添加一个MD5哈希:
global-908e25f4bf641868d8683022a5b62f54.css
路径 由于动态指纹使所有预编译资产具有不同的名称,因此需要使用Rails的动态路径帮助程序:
#app/assets/stylesheets/application.css.scss
@font-face {
font-family: 'caviar_dreamsregular';
src: asset-url('caviardreams-webfont.eot');
src: asset-url('caviardreams-webfont.eot?#iefix') format('embedded-opentype'),
asset-url('caviardreams-webfont.woff') format('woff'),
asset-url('caviardreams-webfont.ttf') format('truetype'),
asset-url('caviardreams-webfont.svg#caviar_dreamsregular') format('svg');
font-weight: normal;
font-style: normal;
}
您需要使用动态样式表引擎来处理动态路径我的问题是我在vendor/assets/fonts中使用了字体(甚至添加了
config.assets.path)
#app/assets/stylesheets/application.css.scss
@font-face {
font-family: 'caviar_dreamsregular';
src: asset-url('caviardreams-webfont.eot');
src: asset-url('caviardreams-webfont.eot?#iefix') format('embedded-opentype'),
asset-url('caviardreams-webfont.woff') format('woff'),
asset-url('caviardreams-webfont.ttf') format('truetype'),
asset-url('caviardreams-webfont.svg#caviar_dreamsregular') format('svg');
font-weight: normal;
font-style: normal;
}