7

如何使用在軌道上的@ font-臉emebed字體:資產管道和@字體面在軌道(軌道3.2.3)

我的字體位於:

/供應商/資產/樣式/字體/ 自定義字體列表,在這裏 .eot

我的樣式表,它包含一個@字體面內:

/vendor/assets/stylesheets/fonts.css

我使用這個現在

@font-face { 
    font-family: 'ArimoRegular'; 
    src: url('<%= asset_path('fonts/arimo-regular-webfont.eot') %>'); 
    src: url('<%= asset_path('fonts/arimo-regular-webfont.eot') %>'+'?#iefix') format('embedded-opentype'), 
     url('<%= asset_path('fonts/arimo-regular-webfont.woff') %>') format('woff'), 
     url('<%= asset_path('fonts/arimo-regular-webfont.ttf') %>') format('truetype'), 
     url('<%= asset_path('fonts/arimo-regular-webfont.svg') %>#ArimoRegular') format('svg'); 
    font-weight: normal; 
    font-style: normal; 

} 

我不知道這是否是正確的,

任何建議,歡迎, 謝謝

回答

11

您不應該需要文件路徑的fonts/部分。該app/assets/fonts目錄應該已經包含在asset_path,所以你應該能夠使用:

<%= asset_path('arimo-regular-webfont.eot') %> 

我不知道爲什麼會這樣,但我聽說過的具有不屬assets/fonts目錄問題的人在資產管道中,所以您必須手動添加它。如果上述方法不爲你工作,嘗試通過將按照config/application.rb手動添加目錄:

config.assets.paths << "#{Rails.root}/app/assets/fonts" 
+0

我修改fonts.css.rb,仍然不起作用。順便說一句,謝謝你的回覆。 –

+0

我剛剛修改了我的答案......當你有一分鐘​​時看看。希望有所幫助! –

+4

'assets/fonts'只能在'app'和'lib'中使用,但不能在'vendor'中使用 – sandstrom

3

在使用asset_path幫手,你應該追加.erbfont.css,使其成爲font.css.erb。更好的解決方案是使用來自sass-railsless-rails寶石的資產助手,您的情況爲font-url

更多一點:sass-rails features