Rails 4: драгоценные камни Bootstrap-sass работают на разработку, но не на производство

У меня есть приложение rails, которое я разработал на своем локальном компьютере с помощью gem bootstrap-sass. Все это прекрасно работало в разработке, но когда я развернул свое приложение на рабочем сервере, глификоны перестали работать.

В консоли ошибка:

 downloadable font: download failed (font-family: "Glyphicons Halflings" style:normal 
 weight:normal stretch:normal src index:1): status 2147746065 
 source: http://mydomain.com/assets/bootstrap/glyphicons-halflings-regular.woff

И действительно, такого файла нет, а есть тот самый файл с дайджестом конвейера ассетов. Так что мне кажется, что запрос к файлу конвейера активов сломан и поэтому пытается получить нормальный файл? Или мой конвейер активов сломан? Не уверен. И не совсем уверен, почему это работает на моей локальной машине, но не на сервере.

Нужно ли мне по-другому настраивать файл production.rb?

# Compress JavaScripts and CSS.
config.assets.js_compressor = :uglifier
# config.assets.css_compressor = :sass

# Do not fallback to assets pipeline if a precompiled asset is missed.
config.assets.compile = false

# Generate digests for assets URLs.
config.assets.digest = true

# Version of your assets, change this if you want to expire all your assets.
config.assets.version = '1.0'

person Mexxer    schedule 13.11.2013    source источник


Ответы (2)


Установка config.assets.compile на true - не лучшее решение, учитывая производительность.

Вы можете попробовать RAILS_ENV=production bundle exec rake assets:precompile и перезапустить сервер.

person Nami WANG    schedule 23.11.2013
comment
Для тех, у кого возникает ошибка: You have already activated rake y.y.y, but your Gemfile requires rake x.x.x убедитесь, что вы запускаете bundle update rake перед запуском RAILS_ENV=production rake assets:precompile. - person apebeast; 15.01.2016

решил это, установив

config.assets.compile = true
person Mexxer    schedule 13.11.2013
comment
Это на самом деле ужасная идея... подробнее о том, почему здесь: stackoverflow.com/questions/8821864/ - person james; 18.07.2015