Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
Browse files

Merge pull request #3136 from guilleiguaran/clear-digests-on-precompile

Avoid use of existing precompiled assets during rake assets:precompile run
  • Loading branch information...
commit b703cdbb643a532b47de3593d36434344d927965 2 parents 6ba472c + b605bd5
@spastorino spastorino authored
View
4 actionpack/lib/sprockets/assets.rake
@@ -25,6 +25,10 @@ namespace :assets do
env = Rails.application.assets
+ # Always compile files and avoid use of existing precompiled assets
+ config.assets.compile = true
+ config.assets.digests = {}
+
target = File.join(Rails.public_path, config.assets.prefix)
static_compiler = Sprockets::StaticCompiler.new(env, target, :digest => config.assets.digest)
View
18 railties/test/application/assets_test.rb
@@ -256,6 +256,24 @@ class ::PostsController < ActionController::Base ; end
assert_match(/\/assets\/rails-([0-z]+)\.png/, File.read(file))
end
+ test "precompile shouldn't use the digests present in manifest.yml" do
+ app_file "app/assets/stylesheets/application.css.erb", "<%= asset_path('rails.png') %>"
+
+ ENV["RAILS_ENV"] = "production"
+ precompile!
+
+ manifest = "#{app_path}/public/assets/manifest.yml"
+ assets = YAML.load_file(manifest)
+ asset_path = assets["application.css"]
+
+ app_file "app/assets/images/rails.png", "image changed"
+
+ precompile!
+ assets = YAML.load_file(manifest)
+
+ assert_not_equal asset_path, assets["application.css"]
+ end
+
test "precompile appends the md5 hash to files referenced with asset_path and run in production as default even using RAILS_GROUPS=assets" do
app_file "app/assets/stylesheets/application.css.erb", "<%= asset_path('rails.png') %>"
add_to_config "config.assets.compile = true"
Please sign in to comment.
Something went wrong with that request. Please try again.