В rails 3.1, когда вы прекомпилируете активы, рельсы создают каталог public/assets и добавляют туда файлы.
Вы контролируете версию public/assets/*?
В rails 3.1, когда вы прекомпилируете активы, рельсы создают каталог public/assets и добавляют туда файлы.
Вы контролируете версию public/assets/*?
Я тоже искал ответ. Я нашел, что официальный Rails Guide имеет некоторые мысли по этому поводу:
http://guides.rubyonrails.org/asset_pipeline.html#local-precompilation
Вот цитата из соответствующего раздела (выделено мной):
Существует несколько причин, по которым вы, возможно, захотите предварительно скопировать свои активы локально. Среди них:
- Возможно, у вас нет доступа для записи в вашу файловую систему.
- Возможно, вы используете более одного сервера и хотите избежать дублирования работы.
- Возможно, вы часто занимаетесь развертыванием, которое не включает изменения активов.
Локальная компиляция позволяет компилировать файлы в исходный элемент управления и развертывать как обычно.
Существует три оговорки:
- Вы не должны запускать задачу развертывания Capistrano, которая прекомпилирует активы.
- Вы должны убедиться, что в вашей системе разработки имеются любые необходимые компрессоры или minifiers.
- Вы должны изменить следующий параметр конфигурации приложения:
В
config/environments/development.rb
поместите следующую строку:config.assets.prefix = "/dev-assets"
Изменение
prefix
заставляет Sprockets использовать другой URL для обслуживания активов в режиме разработки и передавать все запросы на Sprockets. Префикс по-прежнему установлен в/assets
в рабочей среде. Без этого изменения приложение будет обслуживать предварительно скомпилированные активы из/assets
в разработке, и вы не увидите никаких локальных изменений, пока вы снова не скомпилируете активы.На практике это позволит вам прекомпилировать локально, иметь эти файлы в рабочем дереве и при необходимости передавать эти файлы в исходный код. Режим разработки будет работать, как ожидалось.
Итак, похоже, было бы неплохо поместить предварительно скомпилированные активы в VCS.
Я использую Capistrano для развертывания. Последний шаг заключается в компиляции активов. Ничего подобного не проверяется в контроле версий.
https://github.com/capistrano/capistrano/wiki/Documentation-v2.x
Проверка скомпилированных активов, файлов .gz/etc, просто загромождает управление версиями.