2014-05-15 46 views
1

我知道這是個老問題,但我一直在挖掘我的頭幾個小時。通過所有的SO的鏈接,但仍然無法解決這個問題。Rails 4字體未在SCSS中加載

我的字體位於資產目錄中的字體目錄中。如果我嘗試使用asset-url它給我錯誤說當我的字體在目錄中時沒有找到Barrio字體。

# application.rb 
config.assets.paths << "#{Rails.root}/app/assets/fonts" 
config.assets.precompile += %w(.otf) 

# style.scss 
@font-face { 
    font-family: "Barrio-Regular"; 
    src: asset-url("Barrio-Regular.otf"); 
} 

.catagories-list { 
    label { 
    font-family: "Barrio-Regular, Arial, Helvetica, sans-serif"; 
    font-size: 18px; 
    } 
    li { 
    a { 
     color: #2c2c2c; 
    } 
    margin-bottom: 10px; 
    text-indent: 20px; 
    &.active a { 
     text-decoration: underline; 
     color: #2f2993; 
    } 
    } 
} 
+1

響應回來你有沒有嘗試過的字體網址助手 – Iceman

+0

@Iceman AFAIK在軌道4,5有沒有更多的字體 - 網址或它已被棄用。 –

+1

你能粘貼整個錯誤信息嗎? –

回答

0

我認爲錯誤會被這一行造成的:

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

這將如何處理,如果您的應用程序預編譯的資產(所有資產獲得放入public文件夾)?


我們通常這樣做:

#app/assets/stylesheets/layout/fonts.css.sass 
@font-face 
    font: 
     family: 'Ionicons' 
     weight: normal 
     style: normal 
    src: asset_url('layout/fonts/IonIcons/ionicons.eot?v=1.4.1') 
    src: asset_url('layout/fonts/IonIcons/ionicons.eot?v=1.4.1#iefix') format('embedded-opentype'), asset_url('layout/fonts/IonIcons/ionicons.ttf?v=1.4.1') format('truetype'), asset_url('layout/fonts/IonIcons/ionicons.woff?v=1.4.1') format('woff'), asset_url('layout/fonts/IonIcons/ionicons.svg?v=1.4.1#Ionicons') format('svg') 

基本上,把我們所有的字體在#app/assets/stylesheets/layouts/fonts目錄


說完看着someresources,我會推薦這:

將字體放置在app/assets/fonts /中,不需要添加 或編輯application.rb,production.rb或staging.rb中的任何內容。

#app/assets/stylesheets/application.css.scss 
@font-face { 
    font-family: 'Barrio-Regular' 
    src: asset_url('Barrio-Regular.otf') 
} 

如果你這樣做不改變你的application.rb,請用什麼系統