[英]Rails 4 can't find fonts in production
場景:我有一個Rails 4.0.0應用程序,使用capistrano進行部署,該應用程序在我的生產服務器上預編譯了我的資產。
問題:我正在嘗試添加字體並將其與@ font-face一起使用。 它在本地工作,但不適用於生產。
錯誤消息: “無法加載資源:服務器響應狀態為404(未找到)”
我的字體位於app / assets / fonts /
我的相關文件:
app / assets / stylesheets / 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上部署。 我想念什么? 我感謝您的幫助。
編輯:在生產中,我在假定字體的位置找到了字體: my-rails-app / current / public / @ assets / fonts
當我意識到我的font-awesome.css
文件實際上並沒有投入生產時,我剛剛解決了一個類似的問題。 我必須做
*= require font-awesome.css
代替
@import "font-awsome.css";
在我的application.css.scss清單中。
另外,對於添加到文件名上的MD5哈希,我不確定是否是一個問題,但最終我這樣做了:
font-url('fontawesome-webfont.eot');
而不是
url(font-path('fontawesome-webfont.eot')
因此,即使是一個問題,我也可以肯定地使用font-url
可以正確處理它。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.