Изображения активов Rails в производстве - PullRequest
2 голосов
/ 26 сентября 2011

Я обнаружил странное поведение изображений активов

Если я запускаю единорога в производственном режиме на хостинге - /assets/image.png - сервер выдаст мне пустое изображение, т.е. файл существует, но размер = 0. В то же время на localhost я работаю в режиме разработки единорога - и все работает нормально, затем я запускаю webrick на хостинге - изображения отображаются нормально. После этого я запускаю единорога в производственном режиме на локальном хосте, и изображения перестают отображаться, затем я запускаю единорога в изображениях разработки уже не работает.

Rails 3.1.0.rc6, после этого я обновляюсь до rc8 на хостинге, но ничего не происходит

Может в производственном режиме построить какой-нибудь кеш, который останется навсегда?

1 Ответ

6 голосов
/ 26 сентября 2011

Есть разные вещи, которые могут пойти не так, поэтому вот идеи, которые вы должны проверить:

  • В Rails 3.1 есть известная ошибка, что прекомпиляция ресурсов не работает должным образом.См. Обновление до Rails 3.1.0 с rc6, прекомпиляция ресурса не удалась для вопроса с решением.
  • У меня были проблемы с созданием предварительно скомпилированных активов для производства.Следующее сработало для меня (после исправления ошибки выше):
    1. Убедитесь, что ваше приложение не работает в производственном режиме.
    2. Вызовите bundle exec rake assets:clean.Это очистит все ресурсы, висящие вокруг.
    3. Позвоните bundle exec rake assets:precompile впоследствии.В результате каталог /public/assets должен быть заполнен активами с добавленным хешем (например, icon_add-96985e087048a8c2e09405494509750d.gif вместо icon-add.gif).
    4. Запустить сервер в рабочем режиме.
  • В зависимости от браузера, который я использовал, мне приходилось обновлять или даже очищать все кэши.Особенно Хром был очень противным в кешировании ресурсов, которые он не должен кэшировать.

Я надеюсь, что некоторые из идей помогут вам найти источник вашей проблемы.

...