Можно ли принудительно генерировать активы с помощью конвейера Rails Asset?

#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. Что именно это делает? Делает ли это недействительным кеш при каждом запросе? Что происходит в конвейере активов для достижения желаемого результата?