Задать вопрос
hummingbird
@hummingbird

Почему возникает проблема с ресурсами в production?

В общем, разобравшись что да как, опишу всю ситуацию.

Имеется CloudFlare. У него в настройках домена включил Development Mode. Но навряд ли тут CloudFlare вообще на что-то влияет.

Идем дальше.

Если проект запускать в режиме development, то все нормально. Перекомпилирует ресурс, если тот был изменен и ресурс успешно доступен по адресу: site.ru/assets/application-md5-hash.css

Если проект запустить в режиме production, то тут вообще какая-то ерунда выходит. Я уже несколько часов разбираюсь с этим и повидал всякое дерьмо. Обо всем поподробнее:
  1. Я выполнил rake assets:precompile, что сгенерировало в свою очередь в каталоге /public/assets все необходимое. Имена файлов и хеш в этих именах сходятся (исходный код в браузере + то что на сервере).
  2. На самом сайте у всех скриптов и стилей ошибка, мол, 404 - нет тут ничего. Например, для этого стиля: site.ru/assets/application-md5-hash.css. Если прописать public до assets, то он находит стиль/скрипт. Но это не решает проблему. Должен быть доступ по site.ru/assets/.
  3. Спустя длительное время у меня начал находить ресурс, но только application.css, application.js и global.js. Но помимо них еще есть персональные стили/скрипты такие как, например, news.css/js или comments.css/js. У них попрежнему 404 ошибка.
  4. Далее я повысил версию в assets.rb. Снова выполнил rake assets:precompile. Все вернулось к исходной точке - у всех 404 ошибка. Ничего нет.


Я абсолютно ничего не трогал в production.rb. Он как сгенерировался при создании проекта - так и лежал до сегодняшнего дня.
Притом я как-то, в начале создания проекта, запускал проект в production режиме. И все ресурсы тогда грузились без проблем.

Как блин это исправить?
Почему такой бред?
  • Вопрос задан
  • 121 просмотр
Подписаться 1 Оценить Комментировать
Пригласить эксперта
Ответы на вопрос 1
hummingbird
@hummingbird Автор вопроса
Я точно не уверен, но...

Я удалил каталог assets в public и опция в production.rb:
config.assets.compile = true
Начала работать. То есть теперь все ресурсы находит...

Это можно расценивать как баг фреймворка?
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы