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