Если файлов нет, Rails их создаст. Вы могли бы скопировать старые кэшированные ресурсы в новый каталог перед запуском вашего кода Rails, однако я не верю, что capistrano умеет понимать, какие файлы были изменены, поэтому вы не будете знать, когда это сделать.
Если вы хотите именно то, что вы описываете, я бы, возможно, md5sum старые и новые каталоги js / css и поискал разницу. Если он есть, вам нужно собрать его с нуля, если его нет, вы можете просмотреть старые файлы.
В качестве альтернативы, если все, что вас волнует, это память, которую вы можете создать для ресурсов перед запуском серверов. Что-то вроде:
class AssetCache
include ActionView::Helpers::TagHelper
include ActionView::Helpers::AssetTagHelper
APPLICATION_JAVASCRIPTS = %w{ mootools mycustom admin }
def pre_cache
javascript_include_tag JAVASCRIPT_ASSETS,
:cache => 'cache/app.js'
end
end
И в шапке перед запуском демонов Rails запустите script/runner -e production AssetCache.new.pre_cache
, чтобы заполнить файлы. В ваших макетах просто используйте AssetCache::APPLICATION_JAVASCRIPTS
вместо встроенного списка файлов. Ополосните, повторите и вымойте для стилей. Демоны Rails увидят существующие кэши, а не забьют вашу память.
Если вы работаете на нескольких серверах, вам, вероятно, потребуется реплицировать ресурсы без изменения их временных меток.
Удачи!