字体文件未在生产Ruby on Rails中编译

时间:2018-07-07 15:21:16

标签: ruby-on-rails

希望获得一些帮助。我有一个Rails项目,在生产中似乎没有在编译字体。

我的application.rb文件中有

 class Application < Rails::Application
   config.assets.paths << Rails.root.join("app", "assets", "fonts")
 end

将字体添加到我的scss文件中,例如

@font-face {
   font-family: 'Jaapokki';
   src: asset-url("/assets/Jaapokki-Regular.eot");
   src: asset-url("/assets/Jaapokki-Regular.eot?#iefix") 
   format("embedded-opentype"), asset-url("/assets/Jaapokki-Regular.woff") format("woff"), asset-url("/assets/Jaapokki-Regular.ttf") format("truetype");
   font-weight: normal;
   font-style: normal;
}

但是在

的chrome开发控制台中出现错误

GET https://mve.herokuapp.com/assets/Jaapokki-Regular.woff net::ERR_ABORTED

现在这在开发中可行,并且在部署到AWS服务器时,我使用了类似的设置。但是,此应用程序已部署到heroku,这似乎给我带来了问题。我想第一个问题是,在推向生产阶段时,如何检查我的字体是否还在编译。

非常感谢您的帮助!

2 个答案:

答案 0 :(得分:1)

由于字体位于app/assets/fonts中,因此您应该能够在SCSS中使用font-url为每个字体文件自动生成正确的素材资源路径:

@font-face {
   font-family: 'Jaapokki';
   src: font-url("Jaapokki-Regular.eot");
   src: font-url("Jaapokki-Regular.eot?#iefix") format("embedded-opentype"),
        font-url("Jaapokki-Regular.woff") format("woff"),
        font-url("Jaapokki-Regular.ttf") format("truetype");
   font-weight: normal;
   font-style: normal;
}

在这里查看亚伦·格雷对类似问题的回答:https://stackoverflow.com/a/19414154/2076253

答案 1 :(得分:0)

@font-face {
    font-family: "raty";
    src: url(asset-path("raty.woff"));
}