Выпуск шрифтов в рельсах
Я создал рельсы (4.2.4), которые отлично работают в среде разработки, но когда я развернул его на цифровом океане, он не получил шрифтов с ошибкой, например
Failed to load resource: the server responded with a status of 404 (Not Found)
с контуром вроде
http://Server-IP/assets/raleway-bold.woff2
Я пробовал много комбинаций, чтобы обеспечить путь, но все напрасно, кроме одного, который работает в разработке, но не в производстве.
У меня немного отличается структура для активов
assets
- fonts
- javascripts
- stylesheets
- admin
- web
- application.js
- fonts.cs
- application.cs
и в fonts.cs Я предоставляю путь, например
@font-face {
font-family: 'dpdidot_htfm96medium';
src: url('/assets/dp_didot-htf-m96-medium-webfont.eot');
src: url('/assets/dp_didot-htf-m96-medium-webfont.eot?#iefix') format('embedded-opentype'),
url('/assets/dp_didot-htf-m96-medium-webfont.woff2') format('woff2'),
url('/assets/dp_didot-htf-m96-medium-webfont.woff') format('woff'),
url('/assets/dp_didot-htf-m96-medium-webfont.ttf') format('truetype'),
url('/assets/dp_didot-htf-m96-medium-webfont.svg#dpdidot_htfm96medium') format('svg');
font-weight: normal;
font-style: normal;
}
Что с ним не так.
Ответы
Ответ 1
Получил это. По умолчанию предварительно скомпилированные активы с Rails генерируют только application.js
и application.css
. Если вы хотите, чтобы precompile генерировал распакованные активы, такие как шрифты, добавьте их в Rails.application.config.assets.precompile
, это пример. Вы можете добавить это к assets.rb
Rails.application.config.assets.precompile += ['*.js', '*.css', '*.woff2', '*.woff']