Rails:@ font-face在Heroku上工作,但不在localhost上工作

时间:2012-12-25 13:04:48

标签: ruby-on-rails ruby fonts osx-lion font-face

在CSS中:

@font-face {
  font-family: 'some_name';
  src: url('font_name.eot');
}

application.rb

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

在Heroku上,此设置运行良好,但在localhost上没有。我错过了在localhost上正确显示非标准字体的内容吗? 我在Mountain Lion上跑步。

由于

2 个答案:

答案 0 :(得分:1)

字体的scr路径规范是相对的。

在生产环境中,编译所有资产,并将不同类型的资产放在一个文件夹中,可在/assets/asset-name访问。这意味着字体和css文件将位于同一文件夹中,相对路径也可以。但是,在开发环境中,资产不会被编译,也不会组合在一起,这意味着它们可以在/assets/ASSET-TYPE/asset-name访问。因此,字体不会与样式表所在的文件夹相同,相对路径也无助于查找实际的字体文件。

Rails有一个asset-url CSS助手,它可以在两个envs中运行,在编译到url(path-to-asset)时会被替换。

@font-face {
  font-family: 'The Font';
  src: asset-url('the_font.eof', font);
}

答案 1 :(得分:1)

此解决方案适用于我:

@font-face {
  font-family: 'some_name';
  src: url('/assets/font_name.eot');
}
相关问题