aboutsummaryrefslogtreecommitdiffstats
path: root/actionview/lib/action_view/template/resolver.rb
diff options
context:
space:
mode:
authorGodfrey Chan <godfreykfc@gmail.com>2016-03-01 00:58:40 -0800
committerGodfrey Chan <godfreykfc@gmail.com>2016-03-01 01:04:26 -0800
commitd150f59f114dc2d362b9d8f96df88ca4fea09dc4 (patch)
tree7c5cc94d9f599dfc3a692f060dabfb024028300d /actionview/lib/action_view/template/resolver.rb
parent75097933e26e5147f666f485d41b38967c76311c (diff)
downloadrails-d150f59f114dc2d362b9d8f96df88ca4fea09dc4.tar.gz
rails-d150f59f114dc2d362b9d8f96df88ca4fea09dc4.tar.bz2
rails-d150f59f114dc2d362b9d8f96df88ca4fea09dc4.zip
Support `:any` variants lookup in `PathResolver`
`OptimizedFileSystemResolver` (which most Rails apps use), but did not implement the feature on the more generic `PathResolver`, which is often used in tests etc. Fixes #23881
Diffstat (limited to 'actionview/lib/action_view/template/resolver.rb')
-rw-r--r--actionview/lib/action_view/template/resolver.rb8
1 files changed, 6 insertions, 2 deletions
diff --git a/actionview/lib/action_view/template/resolver.rb b/actionview/lib/action_view/template/resolver.rb
index b6de0b03bf..f33acc2103 100644
--- a/actionview/lib/action_view/template/resolver.rb
+++ b/actionview/lib/action_view/template/resolver.rb
@@ -245,8 +245,12 @@ module ActionView
partial = escape_entry(path.partial? ? "_#{path.name}" : path.name)
query.gsub!(/:action/, partial)
- details.each do |ext, variants|
- query.gsub!(/:#{ext}/, "{#{variants.compact.uniq.join(',')}}")
+ details.each do |ext, candidates|
+ if ext == :variants && candidates == :any
+ query.gsub!(/:#{ext}/, "*")
+ else
+ query.gsub!(/:#{ext}/, "{#{candidates.compact.uniq.join(',')}}")
+ end
end
File.expand_path(query, @path)