【问题标题】:Rails 3.1 error 406 response when downloading web fonts下载网络字体时 Rails 3.1 错误 406 响应
【发布时间】:2011-12-08 17:53:01
【问题描述】:

我在使用 compass 的 Spree 0.70 应用程序中通过 Rails 3.1 提供网络字体时遇到问题(我认为这不会产生影响)

我有一个包含声明的 scss 文件:

@font-face {
  font-family: 'RokkittRegular';
  src: font_url('fonts/store/rokkitt-font/Rokkitt-webfont.eot');
  src: local('Rokkitt Regular'),
    font_url('fonts/store/rokkitt-font/Rokkitt-webfont.eot?#iefix') format('embedded-opentype'),
    font_url('fonts/store/rokkitt-font/Rokkitt-webfont.woff') format('woff'),
    font_url('fonts/store/rokkitt-font/Rokkitt-webfont.ttf') format('truetype'),
    font_url('fonts/store/rokkitt-font/Rokkitt-webfont.svg#RokkittRegular') format('svg');
  font-weight: normal;
  font-style: normal;
}

这些声明成功包含在输出的css中,字体文件本身存放在:

/app/assets/fonts/store/rokkitt-font/

并包含:

  • Rokkitt-webfont.eot
  • Rokkitt-webfont.svg
  • Rokkitt-webfont.ttf
  • Rokkitt-webfont.woff

但是当我访问该网站时,字体没有呈现。我试过直接访问这些文件,但没有得到回复。我原以为浏览器会尝试下载文件,但我得到的只是错误 406 响应。样式表中的其他资产(例如图像)正确呈现。谁能帮我诊断一下?我在想这可能与 Mime 类型有关,虽然我不确定。

提前致谢

【问题讨论】:

    标签: ruby-on-rails-3.1 font-face compass-sass spree webfonts


    【解决方案1】:

    当您使用 font_url 或其他 rails 3.1 资产助手时,您不需要资产类型 - 在这种情况下:'fonts' - 在 url 中。所以网址应该是:

    font_url('store/rokkitt-font/Rokkitt-webfont.eot?#iefix') format('embedded-opentype'),
    font_url('store/rokkitt-font/Rokkitt-webfont.woff') format('woff'),
    font_url('store/rokkitt-font/Rokkitt-webfont.ttf') format('truetype'),
    font_url('store/rokkitt-font/Rokkitt-webfont.svg#RokkittRegular') format('svg');
    

    这解决了问题。希望这可以帮助遇到此问题的其他人。

    我猜我还是习惯了资产管道...把这个当作一个男生的错误!

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2014-12-08
      • 1970-01-01
      • 1970-01-01
      • 2014-12-17
      • 2017-12-22
      • 2021-04-09
      • 1970-01-01
      • 2011-07-01
      相关资源
      最近更新 更多