Если вы используете Engine Yard Cloud, это то, что я сделал:
добавил файл /lib/tasks/assetcache.rake
require 'assetwriter'
namespace :assetcache do
desc "Clears javascripts/cache and stylesheets/cache"
task :clear => :environment do
puts "Clearing javascripts/cache and stylesheets/cache"
FileUtils.rm(Dir['public/javascripts/cache_[^.]*'])
# use :cache => 'cache_all.js' in stylesheet_link_tag
FileUtils.rm(Dir['public/stylesheets/cache_[^.]*'])
# use :cache => 'cache_all.css' in javascript_include_tag
end
desc "Recreate the javascripts/stylesheets cache."
task :generate => [:environment, :clear] do
puts "Recreate the javascripts/stylesheets cache"
AssetCacheWriter.new.write
end
end
тогда я добавил /lib/assetwriter.rb
требуется 'action_view'
класс AssetCacheWriter
включает ActionView :: Helpers :: AssetTagHelper
def write
write_asset_file_contents (File.join (JAVASCRIPTS_DIR, "cache / all.js"), compute_javascript_paths ([: all], true))
write_asset_file_contents (File.join (STYLESHEETS_DIR, "cache / all.css"), compute_stylesheet_paths ([: all], true))
конец
конец
затем я добавил в /deploy/after_restart.rb
запустите "cd # {release_path} && bundle exec rake assetcache: generate"