#ruby-on-rails #ruby-on-rails-3.1 #less #asset-pipeline
#ruby-on-rails #ruby-on-rails-3.1 #Меньше #asset-конвейер
Вопрос:
Есть ли способ принудительно восстанавливать активы при каждом запросе при использовании конвейера активов Rails 3.1?
У меня возникают проблемы с получением системой изменений в файлах при использовании Less (less-rails) с серией частичных и смешанных файлов. Если бы я мог просто заставить систему генерировать по каждому запросу, я был бы намного более продуктивным.
Ответ №1:
Чтобы принудительно выполнить полную регенерацию всех активов, используйте:
rake assets:clobber assets:precompile
Очень удобно, когда asset_sync не играет с вами честно…
Я знаю, что это может вам не помочь, но, надеюсь, кому-то другому будет легче найти ответ.
Ответ №2:
Вы можете сбросить кэш активов с помощью
rake tmp:cache:clear
Комментарии:
1. Предпочтительнее было бы автоматизировать.
2. Вам нужно будет поместить эту команду в сценарий, установленный для запуска в любой момент, когда вы хотите его автоматизировать. Я не могу предоставить предложение по автоматизации без дополнительной информации.
Ответ №3:
Вы должны запустить свой сервер в development
среде. Я думаю, вы также можете использовать что-то вроде config.cache_classes = false
в файле конфигурации вашей текущей среды.
Комментарии:
1. Делал это, но оказалось, что моя проблема была вызвана немного другой проблемой. Спасибо.
Ответ №4:
Я разобрался с этим.
Мастер.меньший файл (как в основном файле less, который координирует другие включаемые файлы), необходимый для добавления к нему директив конвейера.
Итак, в моем случае application.css содержит:
/*
*= require html5reset-1.6.1
*= require master
*/
И master.css.less содержит:
/*
*= depend_on mixins
*/
@import "mixins";
Комментарии:
1. Вы должны подчеркнуть, что важной частью является «depend_on» 🙂
2. Что именно это делает? Делает ли это недействительным кеш при каждом запросе? Что происходит в конвейере активов для достижения желаемого результата?