Rails 3.1 ошибка 406 ответа при загрузке веб-шрифтов - PullRequest
1 голос
/ 16 октября 2011

У меня проблемы с обслуживанием веб-шрифтов через Rails 3.1, в приложении Spree 0.70 с использованием компаса (что, я думаю, не должно иметь значения)

У меня есть файл 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-типами, хотя я не уверен.

Заранее спасибо

1 Ответ

1 голос
/ 17 октября 2011

Когда вы используете font_url или другие помощники ресурсов rails 3.1, вам не нужен тип ресурса - в данном случае: 'fonts' - в URL. Таким образом, 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');

Что решает проблему. Надеюсь, что это помогает всем, кто сталкивается с этой проблемой.

Полагаю, я все еще привыкаю к ​​списку активов ... Назови это ошибкой школьника!

...