我制作了一个rails(4.2.4)应用程序,它在开发环境中运行良好,但是当我在数字海洋上部署它时,它没有得到字体,但是有一个错误,如
Failed to load resource: the server responded with a status of 404 (Not Found)
带路径
http://Server-IP/assets/raleway-bold.woff2
我尝试了许多组合来提供路径,但除了一个之外都是徒劳的,它在开发中有效,但在生产中却没有。
我的资产结构差别不大
assets
- fonts
- javascripts
- stylesheets
- admin
- web
- application.js
- fonts.cs
- application.cs
并在fonts.cs中我提供了像
这样的路径@font-face {
font-family: 'dpdidot_htfm96medium';
src: url('/assets/dp_didot-htf-m96-medium-webfont.eot');
src: url('/assets/dp_didot-htf-m96-medium-webfont.eot?#iefix') format('embedded-opentype'),
url('/assets/dp_didot-htf-m96-medium-webfont.woff2') format('woff2'),
url('/assets/dp_didot-htf-m96-medium-webfont.woff') format('woff'),
url('/assets/dp_didot-htf-m96-medium-webfont.ttf') format('truetype'),
url('/assets/dp_didot-htf-m96-medium-webfont.svg#dpdidot_htfm96medium') format('svg');
font-weight: normal;
font-style: normal;
}
它有什么问题
答案 0 :(得分:0)
知道了。使用Rails的默认预编译资产只会生成application.js
和application.css
。如果您希望预编译生成解压缩的资产(如字体),请将其添加到Rails.application.config.assets.precompile
这是示例。您可以将其添加到assets.rb
Rails.application.config.assets.precompile += ['*.js', '*.css', '*.woff2', '*.woff']