diff options
author | Javan Makhmali <javan@javan.us> | 2016-06-15 17:56:17 -0400 |
---|---|---|
committer | Javan Makhmali <javan@javan.us> | 2016-06-15 18:25:18 -0400 |
commit | 1ee4eebb2b2da07e49bb7d467f5f9d5497bcf718 (patch) | |
tree | 2cdec002d990d54467a49dcdc3504a4332babe92 /actionview/lib | |
parent | 1717836e4fbc111d4b339aff875b2a3c301ab7e3 (diff) | |
download | rails-1ee4eebb2b2da07e49bb7d467f5f9d5497bcf718.tar.gz rails-1ee4eebb2b2da07e49bb7d467f5f9d5497bcf718.tar.bz2 rails-1ee4eebb2b2da07e49bb7d467f5f9d5497bcf718.zip |
Fix finding templates for digesting for */* requests that render a non-default (html) template
Diffstat (limited to 'actionview/lib')
-rw-r--r-- | actionview/lib/action_view/digestor.rb | 9 |
1 files changed, 6 insertions, 3 deletions
diff --git a/actionview/lib/action_view/digestor.rb b/actionview/lib/action_view/digestor.rb index 8d174955a1..f3c29d663c 100644 --- a/actionview/lib/action_view/digestor.rb +++ b/actionview/lib/action_view/digestor.rb @@ -38,10 +38,13 @@ module ActionView # Create a dependency tree for template named +name+. def tree(name, finder, partial = false, seen = {}) logical_name = name.gsub(%r|/_|, "/") - formats = [finder.rendered_format] - if finder.disable_cache { finder.exists?(logical_name, [], partial, [], formats: formats) } - template = finder.disable_cache { finder.find(logical_name, [], partial, [], formats: formats) } + options = {} + options[:formats] = [finder.rendered_format] if finder.rendered_format + + if finder.disable_cache { finder.exists?(logical_name, [], partial, [], options) } + template = finder.disable_cache { finder.find(logical_name, [], partial, [], options) } + finder.rendered_format ||= template.formats.first if node = seen[template.identifier] # handle cycles in the tree node |