Похоже, у меня серьезные проблемы с конвейером ресурсов в Rails 3.2. Все началось с того, что я хотел добавить в свой application.css.scss единый простой стиль во время работы в среде разработки. Раньше я делал это без проблем, и это просто работает, потому что кеширования не происходит (как и следовало ожидать).
Однако, когда я сегодня попытался добавить новый стиль, Rails отказался загружать обновленные стили. Я проверил настройки своей среды, и все они кажутся правильными в development.rb,
config.assets.compress = false
config.assets.debug = true
Я провел небольшое исследование и наткнулся на кэширование css конвейера ресурсов rails 3.1 в разработке. Следуя совету, данному в этом вопросе, я убедился, что я удалил папку tmp/cache
, а также выполнил очистку с помощью rake assets:clean
на тот случай, если в какой-то момент я запустил приложение в производственном режиме, и его нужно было очистить.
После всего этого все равно не повезло. Просто чтобы убедиться, что я не сделал глупой ошибки, я временно переместил стиль в другую таблицу стилей. Нет проблем! Это сработало отлично! Итак, я переместил стиль обратно, и он больше не загружается.
Тоже консоль проверил. Он правильно перезагрузил другую таблицу стилей, но не упомянул исходную таблицу стилей.
Теперь вот основная проблема. В качестве последней попытки я попытался очистить кеш браузера. Обычно у меня нет проблем с этим, но я подумал, что что-то может быть кешировано и вызывает проблемы. Я очистил его, перезагрузил приложение и .... никаких стилей не загружалось!
Кажется, что все мои стили application.css.scss были кэшированы в какой-то момент, и теперь я просто не могу их перезагрузить!
ОБНОВИТЬ:
Хотя я до сих пор не исправил проблему, я решил ее обойти, создав новую таблицу стилей с именем main.css.scss (имя не важно) и переместив все стили в новую таблицу стилей. Это работает из-за директивы //= require_tree .
в манифесте.
Но если кто-то может пролить свет на то, почему исходная таблица стилей перестала работать, я хотел бы знать!