下面的代码应该可以正常工作,但是不会生效。
我在application.rb
,development.rb
,production.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;
}
最佳答案
在您的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文件,您将进入开发控制台。