2016-03-29 48 views
0

下面的代碼應該可以正常工作,但是不會生效。字體不能在Rails中生效4

我定義在application.rb以下,development.rbproduction.rb

config.assets.paths << Rails.root.join('app', 'assets', 'fonts') 

fonts.scss

@font-face { 
    font-family: 'Garamond-Pro-Italic'; 
    src: url('/assets/fonts/Adobe_Garamond_Pro_Italic.ttf') format('ttf'); 
} 

buttons.scss

.menu-button 
{ 
    font-family: 'Garamond-Pro-Italic', sans-serif; 
} 
+0

'config.assets.paths << Rails.root.join( '應用', '資產', 'fonts.scss')'改變這一行提到 –

+0

謝謝,仍然沒有工作,雖然。 – Liroy

+1

使用asset-url(「/ fonts/Adob​​e_Garamond_Pro_Italic.ttf」)而不是url,並查看你的fonts.css編譯文件,你看到了什麼路徑? –

回答

0

試試這個在您的fonts.scss

// First line of file: 
//= depend_on_asset "Garamond-Pro-Italic.ttf" 

@font-face { 
    font-family: 'Garamond-Pro-Italic'; 
    src: url(font-path('Adobe_Garamond_Pro_Italic.ttf')) format('truetype'); 
} 

在application.scss:

//= require <path_to_scss_file> 

你應該只需要在application.rb中如下一行: config.assets.paths << Rails.root.join('app', 'assets', 'fonts')

當然,使當然Adobe_Garamond_Pro_Italic.ttf實際上是在app/assets/fonts/目錄中,而不是vendor,lib或public。

如果這不起作用,那麼您會在開發控制檯中獲得任何資產404錯誤以及已編譯的fonts.scss文件。