Skip to content

Commit d2137f7

Browse files
committed
Merge pull request #332 from rails/schneems/fix-pprecompile-checker2
[Close #321] Double check precompile missing asset
2 parents 907cf04 + fad3d29 commit d2137f7

File tree

2 files changed

+11
-4
lines changed

2 files changed

+11
-4
lines changed

lib/sprockets/rails/helper.rb

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -18,8 +18,7 @@ def initialize(source)
1818
"`//= link_directory ../javascripts .js`\n" +
1919
"`//= link_directory ../stylesheets .css`\n" +
2020
"`//= link_tree ../javascripts .js`\n" +
21-
"`//= link_tree ../images`\n" +
22-
"and restart your server"
21+
"`//= link_tree ../images`\n"
2322
else
2423
"Asset was not declared to be precompiled in production.\n" +
2524
"Add `Rails.application.config.assets.precompile += " +

lib/sprockets/railtie.rb

Lines changed: 10 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -31,13 +31,21 @@ class Configuration
3131
# Called from asset helpers to alert you if you reference an asset URL that
3232
# isn't precompiled and hence won't be available in production.
3333
def asset_precompiled?(logical_path)
34-
precompiled_assets.include? logical_path
34+
if precompiled_assets.include?(logical_path)
35+
true
36+
elsif !config.cache_classes
37+
# Check to see if precompile list has been updated
38+
precompiled_assets(true).include?(logical_path)
39+
else
40+
false
41+
end
3542
end
3643

3744
# Lazy-load the precompile list so we don't cause asset compilation at app
3845
# boot time, but ensure we cache the list so we don't recompute it for each
3946
# request or test case.
40-
def precompiled_assets
47+
def precompiled_assets(clear_cache = false)
48+
@precompiled_assets = nil if clear_cache
4149
@precompiled_assets ||= assets_manifest.find(config.assets.precompile).map(&:logical_path).to_set
4250
end
4351
end

0 commit comments

Comments
 (0)