Rails: глификоны Bootstrap не загружаются в производство

После обновления до Rails 5 значки глификонов Bootstrap не загружаются должным образом на героку. Например, значок корзины отображается как вопросительный знак. Похоже, что браузер не находит ресурс глификон и загружает собственную интерпретацию. Я использую bootstrap-sass 3.3.7.

Когда глификоны загружены, если я открываю консоль, я вижу такие ошибки:

A server with the specified hostname could not be found
https://assets/bootstrap/glyphicons-halflings-regular-fe185d11a49676890d47bb783312a0cda5a44c4039214094e7957b4c040ef11c.woff2

Мне кажется, что хост ресурсов не установлен должным образом для ресурсов начальной загрузки. В моем файле production.rb у меня есть строка

config.asset_host = "https://#{ENV['RAILS_HOST_PATH']}"

и если я сделаю heroku config --remote production, значение RAILS_HOST_PATH будет www.example.com.

Если я посмотрю на Rails.application.config.asset_host, он правильно покажет "https://www.example.com". Однако похоже, что для ресурсов начальной загрузки домен разрешен как https://.

Что здесь происходит?


person Obromios    schedule 23.12.2016    source источник


Ответы (1)


Дальнейшее расследование показало, что это была не проблема с Rails 5 как таковая, а из-за изменения файла production.rb при обновлении и следующих совет Heroku по использованию переменных ENV для таких файлов.

Соответственно мне нужно было в прекомпиляции указать целевой RAILS_HOST_PATH т.е. RAILS_ENV=production RAILS_HOST_PATH=www.example.com rake assets:precompile

person Obromios    schedule 27.12.2016