场景:我有一个Rails 4.0.0应用程序,使用capistrano进行部署,它将我的资产预编译在我的生产服务器上。Rails 4无法在生产中找到字体
问题:我正在尝试添加字体并将其与@ font-face一起使用。它适用于本地,但不适用于生产。
错误消息: “无法加载资源:服务器与404状态(未找到)回答”
我的字体位于应用程序/资产/字体/
我的相关文件:
应用程序/资产/样式表/ application.css.scss:
/*
* This is a manifest file yada yada yada...
*
*= require bootstrap
*= require_self
*= require_tree .
*/
@font-face {
font-family: 'stone_sansregular';
src: url(font-path('stone_sans_regular-webfont.eot') + "?#iefix") format('embedded-opentype'),
url(font-path('stone_sans_regular-webfont.woff')) format('woff'),
url(font-path('stone_sans_regular-webfont.ttf')) format('truetype'),
url(font-path('stone_sans_regular-webfont.svg') + "#stone_sansregular") format('svg');
}
的config/application.rb中:
config.assets.paths << Rails.root.join("app", "assets", "fonts")
我一直在寻求答案的几个SO帖子和其他来源,但我似乎无法得到它的权利。顺便说一句,我没有在Heroku上部署。我错过了什么?我感谢您的帮助。
编辑:在生产中,我发现,我认为他们应该是字体:我-Rails的应用/电流/公/ @资产/字体
这是真正的文件扩展名 - > app/assets/stylesheets/application.css.scss.css?它应该只是.css.scss – Severin
哦,对不起,不,它只是.css.scss(编辑) – Majoren
我想知道,编译后可以与添加到文件名称的MD5哈希有什么关系?因为在控制台中它看上去像试图找到没有扩展名的文件,就像在本地运行一样。 – Majoren