如何为Rails 5.2安装本地字体

5

我正在尝试将字体添加到我的Rails 5.1项目中,但是似乎该项目找不到字体。这是字体的目录:

app
├── assets
│   ├── config
│   │   └── manifest.js
│   ├── fonts
│   │   ├── Open-Sans.eot
│   │   ├── Open-Sans.svg
│   │   ├── Open-Sans.ttf
│   │   └── Open-Sans.woff

在我的application.rb文件中,我添加了字体路径:
config.assets.paths << Rails.root.join('app', 'assets', 'fonts')
config.assets.precompile << /\.(?:svg|eot|woff|ttf)$/

这是我的 base.scss 文件:

@font-face {
  font-family: "Open-Sans";
  src: asset-url('Open-Sans.ttf') format('truetype');
}

body {
  font-family: "Open-Sans", Helvetica, Arial, sans-serif;
  // font-family: $body-font-family;
  // background-color: #2f4050;
  background-color: #222;
  font-size: 15px;
  color: $text-color;
  overflow-x: hidden;

}

我不确定出了什么问题...有什么建议吗?

1
你能在控制台中运行 Rails.application.config.assets.paths 并更新问题的输出吗? - Pavan
你可以参考这个答案 - https://stackoverflow.com/questions/48047545/rails-5-1-2-bootstrap-icons-not-being-served-in-production/48052602#48052602 ,希望它能够起作用。 - Sahidur Rahman Suman
1个回答

2

我认为你可能需要修改base.scss文件。

@font-face {
  font-family: "Open-Sans";
  src: url(asset-path('Open-Sans.ttf')) format("truetype");
}

body {
  font-family: "Open-Sans", Helvetica, Arial, sans-serif;
  // font-family: $body-font-family;
  // background-color: #2f4050;
  background-color: #222;
  font-size: 15px;
  color: $text-color;
  overflow-x: hidden;

}

进行这个更改后,您必须重新启动您的Web服务器。


我尝试了,现在在开发环境中可以看到变化。但是字体仍然没有在生产环境中显示出来。这与Nginx有关吗? - Ning
结果发现该解决方案适用于www.mysite.com;但是mysite.com存在一些CORS问题。 - Ning

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接