diff options
author | José Valim <jose.valim@gmail.com> | 2010-01-26 20:43:35 +0100 |
---|---|---|
committer | José Valim <jose.valim@gmail.com> | 2010-01-26 20:43:35 +0100 |
commit | dc57d545bb3e8ff4123892e5e311e658ab506252 (patch) | |
tree | 8dee5b543ee1830bbe87a38771c9bf1c352a8d72 /actionpack/lib/action_view/template | |
parent | 9f63c4b26e6afe04849dc906b52177ba5221e3b7 (diff) | |
download | rails-dc57d545bb3e8ff4123892e5e311e658ab506252.tar.gz rails-dc57d545bb3e8ff4123892e5e311e658ab506252.tar.bz2 rails-dc57d545bb3e8ff4123892e5e311e658ab506252.zip |
Fix t('.helper').
Diffstat (limited to 'actionpack/lib/action_view/template')
-rw-r--r-- | actionpack/lib/action_view/template/resolver.rb | 13 |
1 files changed, 8 insertions, 5 deletions
diff --git a/actionpack/lib/action_view/template/resolver.rb b/actionpack/lib/action_view/template/resolver.rb index c6a17907ff..340a6afe5e 100644 --- a/actionpack/lib/action_view/template/resolver.rb +++ b/actionpack/lib/action_view/template/resolver.rb @@ -117,15 +117,18 @@ module ActionView # # :api: plugin def path_to_details(path) # [:erb, :format => :html, :locale => :en, :partial => true/false] - if m = path.match(%r'(?:^|/)(_)?[\w-]+((?:\.[\w-]+)*)\.(\w+)$') - partial = m[1] == '_' - details = (m[2]||"").split('.').reject { |e| e.empty? } - handler = Template.handler_class_for_extension(m[3]) + if m = path.match(%r'((^|.*/)(_)?[\w-]+)((?:\.[\w-]+)*)\.(\w+)$') + partial = m[3] == '_' + details = (m[4]||"").split('.').reject { |e| e.empty? } + handler = Template.handler_class_for_extension(m[5]) format = Mime[details.last] && details.pop.to_sym locale = details.last && details.pop.to_sym - return handler, :format => format, :locale => locale, :partial => partial + virtual_path = (m[1].gsub("#{@path}/", "") << details.join(".")) + + return handler, :format => format, :locale => locale, :partial => partial, + :virtual_path => virtual_path end end end |