4

我必須在一個Rails應用程序中使用Google的字體。普通的HTML代碼定義googlefonts用法是這樣的:在Ruby on Rails 3.2應用程序中集成googlefonts

<link href='http://fonts.googleapis.com/css?family=PT+Sans:400,700,400italic' rel='stylesheet' type='text/css'> 

我嘗試添加同一行中我alpplication.html.erb,但沒有奏效。然後我萃取@字體面定義(由鏈路的href指向的位置)到一個單獨的文件css.scss幷包括在我的清單的CSS文件的文件:

#googlefonts.css.scss 
@font-face { 
font-family: 'PT Sans'; 
font-style: italic; 
font-weight: 400; 
src: local('PT Sans Italic'), local('PTSans-Italic'), url(http://themes.googleusercontent.com/static/fonts/ptsans/v4/xxxx.woff) format('woff'); 

}

#application.css 

    *= require googlefonts 
    *= require_tree . 

它沒有再發生。

請幫我解決難題。 Rails 3應用程序中使用谷歌的最佳做法是什麼?

編輯:這裏是我的CSS,指的是@字體面的定義:

#styles.css.scss 
body{ 
font-family: "PT Sans", Arial, Helvetica, sans-serif; 
font-size:13px; 
line-height:25px; 
text-shadow:none !important; 
color:#444; 
} 
+0

請在您使用'PT Sans'的地方添加CSS選擇器 –

+0

感謝您的關注,我編輯了我的問題。 –

回答

1

我想我已經找到了問題:

煉厂部分的頭部分,位於煉油廠/目錄。這部分的格式是.erb(默認)。我的application.html是.haml格式。當我將_head.thml.erb轉換爲_head.html.haml時,它工作得很好。設置谷歌字體很簡單,就像Stephenmurdoch在他的回答中所述。

4

使用您的示例代碼,以下工作對我蠻好:

# stick this inside the head section of application.html.erb 
<link href='http://fonts.googleapis.com/css?family=PT+Sans:400,700,400italic' rel='stylesheet' type='text/css'> 

# stick this in your css file: 
body{ 
    font-family: "PT Sans", Arial, Helvetica, sans-serif; 
} 

這就是你需要,它工作得很好。我建議開除googlefonts.css.scss文件,除非你有本地的你想要的字體副本。鏈接谷歌爲您提供實際處理的代碼爲你反正see for yourself

+0

謝謝你的時間。這很奇怪,我剛剛創建了一個新的Rails應用程序,按照你的指示,它完美的工作。在我的Refinery CMS應用程序中,它引發了問題,但它仍然不起作用。什麼可能是錯的? –

+0

嗨,你是否刪除了css文件以及對它的引用?您需要實際刪除該文件,因爲需求樹會導致它被包含在內。 AFAIK煉油廠應該與谷歌字體很好.. – stephenmurdoch

+0

我想我已經找到了問題:煉油廠已分離部分頭部,位於煉油廠/目錄。這部分的格式是.erb(默認)。我的application.html是.haml格式。當我將_head.thml.erb轉換爲_head.html.haml時,它工作得很好。感謝您的幫助,我迷失在霧中......您認爲我應該創建一個答案嗎? –