Rails 4,@ font-face,sass,assets?

时间:2013-11-09 03:42:51

标签: ruby-on-rails-4 sass asset-pipeline font-face

我知道已经有关于@ font-face,sass和rails 4的问题,但我想知道是否有人能够让这个工作。

我的Sass文件看起来像这样:

@font-face{ font-family:"FrutigerNextW01-Regular";
src:    url(font-path("4cef6d85-d22a-4541-b469-da13751862aa.eot?#iefix"));
src:    url(font-path("4cef6d85-d22a-4541-b469-da13751862aa.eot?#iefix")) format("eot"),
        url(font-path("d74de079-587d-4049-9cca-50ba02a536f9.woff")) format("woff"),
        url(font-path("07749504-e72d-4fc9-a58d-5b853dd51fc7.ttf")) format("truetype"),
        url(font-path("8178e4eb-8ce0-4c15-a701-4a102b204c0e.svg#8178e4eb-8ce0-4c15-a701-4a102b204c0e")) format("svg");
}

我尝试过使用erb标签,资产路径以及我能找到的所有其他配置。

我在application.rb文件

中尝试了这两行
config.assets.paths << "#{Rails.root}/app/assets/fonts"

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

我做错了吗?我知道有些人能够使这种配置起作用,但它对我不起作用!

1 个答案:

答案 0 :(得分:3)

我有一个Rails 3.2应用程序,其网络字体可以正常工作。

它们存储在app/assets/fonts中,并使用asset_path()方法从我的ERB视图引用(而不是font_path())。

以下是我的内联样式标记的副本:

<style type="text/css">
  @font-face {
    font-family: 'QuicksandBook';
    src: url('<%= asset_path('Quicksand_Book-webfont.eot') %>');
    src: local('☺'), url('<%= asset_path('Quicksand_Book-webfont.woff') %>') format('woff'), url('<%= asset_path('Quicksand_Book-webfont.ttf') %>') format('truetype'), url('<%= asset_path('Quicksand_Book-webfont.svg') %>') format('svg');
    font-weight: normal;
    font-style: normal;
  }
  @font-face {
    font-family: 'QuicksandBold';
    src: url('<%= asset_path('Quicksand_Bold-webfont.eot') %>');
    src: local('☺'), url('<%= asset_path('Quicksand_Bold-webfont.woff') %>') format('woff'), url('<%= asset_path('Quicksand_Bold-webfont.ttf') %>') format('truetype'), url('<%= asset_path('Quicksand_Bold-webfont.svg') %>') format('svg');
    font-weight: bold;
    font-style: normal;
  }
</style>