До сих пор у меня не было проблем с производственными активами, хотя Heroku выдает ошибку при наличии:
config.assets.compile = true
Затем я решил прекомпилировать локально и изменить вышеприведенное с помощью:
config.assets.compile = false
config.serve_static_assets = true
Теперь он работает нормально, когда я использую помощник Rails для выявления пути активов:
style="background-image: url('<%= image_path("splash.jpg") %>');"
Вышесказанное хорошо работает на производстве и выбирает версию актива с отпечатками пальцев.
Хотя у меня проблемы с SASS RAILS, которые на самом деле могут делать то же самое без необходимости писать немного Ruby. Например, следующий актив не снят с отпечатка пальца в Production, а шрифт не выбран:
@font-face {
font-family: "Myfont";
src: asset-url("Myfont.ttf") format("truetype");
}
Сгенерированный CSS в производстве:
@font-face{
font-family:"Myfont";
src:url("/assets/Myfont.ttf") format("truetype")
}
Как вы можете видеть, нет ссылки на отпечаток актива. помощник SASS, кажется, делает работу правильно: https://github.com/rails/sass-rails#asset-helpers
Хотя мой файл манифеста звездочек в общей папке показывает:
Myfont-03a09f05dd555ee8b78d16411003a2e35f4322c05807f63db0039d23f71225a2.ttf":
{"logical_path":"Myfont.ttf",
"mtime":"2018-04-13T22:40:09+02:00",
"size":7916,
"digest":"03a09f05dd555ee8b78d16411003a2e35f4322c05807f63db0039d23f71225a2",
"integrity":"sha256-A6CfBd1VXui3jRZBEAOi419DIsBYB/Y9sAOdI/cSJaI="}
Логический путь в манифесте отличается от пути, сгенерированного помощником SASS RAILS. Есть ли способ это исправить?