Ruby on rails 自定义字体在heroku中不起作用

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

使用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('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;
}