Rails вычисляет неверный домен ресурсов только для шрифтов, Firefox не может загрузить

По какой-то причине шрифты являются единственными ресурсами, которые загружаются из домена http://example.com/ вместо http://www.example.com/, и из-за этого не отображаются в Firefox из-за CORS.

это меньше файла, который загружает шрифты:

@font-face {
  font-family: 'example';
  src: asset-url('example.eot?97822167');
  src: asset-url('example.eot?97822167#iefix') format('embedded-opentype'),
   asset-url('example.woff?97822167') format('woff'),
   asset-url('example.ttf?97822167') format('truetype'),
   asset-url('example.svg?97822167#example') format('svg');
 font-weight: normal;
 font-style: normal;
}

Firefox говорит:

downloadable font: download failed (font-family: "example" style:normal weight:normal stretch:normal src index:2): bad URI or cross-site access not allowed
source: http://example.com/assets/example-c93f82c639ee9474376d8df30300127a.ttf?97822167

Хост ресурса установлен на www.example.com. почему домен не так? как я могу это изменить?

Спасибо

2 ответа

Решение

Изменено

asset-url 

в

asset_url 

в файле.less и все было хорошо

  1. Убедитесь, что ваши шрифты помещены в app/assets/fonts vendor/assets/fonts или же lib/assets/fonts так как вы используете Rails 4

  2. Убедитесь, что ваши ресурсы предварительно скомпилированы, я не уверен, что прекомпилирует конвейер rails .svg.woff и т.д.. по умолчанию.

config.assets.precompile << /\.(?:svg|eot|woff|ttf)\z/

Редактировать:

Также убедитесь, что Rails обслуживает статические ресурсы config.serve_static_assets = true

Другие вопросы по тегам