字体/样式表未在Rails生产中加载

时间:2014-03-20 05:16:48

标签: ruby-on-rails asset-pipeline

我有一个Rails 4应用程序,我刚刚部署到九倍。没有任何样式表或字体呈现。

在我的资源文件夹中,我有layout/fonts/*all-my-font-files

然后在`social.css.scss'中我有:

@import '/layout/fonts';

@font-face {
font-family: 'Mono Social Icons Font';
src: asset_url('MonoSocialIconsFont-1.10.eot');
src: asset_url('MonoSocialIconsFont-1.10.eot?#iefix') format('embedded-opentype'),
     asset_url('MonoSocialIconsFont-1.10.woff') format('woff'),
     asset_url('MonoSocialIconsFont-1.10.ttf') format('truetype'),
     asset_url('MonoSocialIconsFont-1.10.svg#MonoSocialIconsFont') format('svg');
src: asset_url('MonoSocialIconsFont-1.10.ttf') format('truetype');
font-weight: normal;
font-style: normal;

}

这是对的吗?

2 个答案:

答案 0 :(得分:1)

而不是asset_url,请使用font-url

你不应该这样:@import '/layout/fonts';

就像:

@font-face {
    font-family: 'Mono Social Icons Font';
    src: font-url('MonoSocialIconsFont-1.10.eot');
    src: font-url('MonoSocialIconsFont-1.10.eot?#iefix') format('embedded-opentype'),
         font-url('MonoSocialIconsFont-1.10.woff') format('woff'),
         font-url('MonoSocialIconsFont-1.10.ttf') format('truetype'),
         font-url('MonoSocialIconsFont-1.10.svg#MonoSocialIconsFont') format('svg');
    src: font-url('MonoSocialIconsFont-1.10.ttf') format('truetype');
    font-weight: normal;
    font-style: normal;
}

答案 1 :(得分:1)

application.rb中

config.assets.paths << "#{Rails.root}/app/assets/fonts"
资产/字体中的

将您的字体添加到以下扩展名(字体可以在http://www.font2web.com/上转换)

.eot
.otf
.svg
.ttf
.woff

资产/样式表/ application.css.scss

@mixin font-face($family, $url-without-ext, $font-weight: normal, $font-style: normal) {
  @font-face {
    font-family: "#{$family}";
    src: font-url("#{$url-without-ext}.eot");
    src: font-url("#{$url-without-ext}.eot?#iefix") format("embedded-opentype"),
    font-url("#{$url-without-ext}.woff") format("woff"),
    font-url("#{$url-without-ext}.ttf") format("truetype"),
    font-url("#{$url-without-ext}.svg##{$family}") format("svg");
    font-weight: $font-weight;
    font-style: $font-style;
  }
}
# then include you fonts (for example)
@include font-face("Arsis", "Arsis");
@include font-face("Georgia", "Georgia");

然后它可以在css中使用

font-family: "Georgia";

(就在前一天我在Rails 4.0.3上测试了它,一切正常!)