Merge pull request #32305 from q-centrix/perf-improvement-translation-helper

Memoize the result of gsubbing @virtual_path
This commit is contained in:
Andrew White 2018-03-20 15:42:31 +00:00 committed by GitHub
commit 09656debe6
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
1 changed files with 5 additions and 2 deletions

View File

@ -122,9 +122,12 @@ module ActionView
private
def scope_key_by_partial(key)
if key.to_s.first == "."
stringified_key = key.to_s
if stringified_key.first == "."
if @virtual_path
@virtual_path.gsub(%r{/_?}, ".") + key.to_s
@_scope_key_by_partial_cache ||= {}
@_scope_key_by_partial_cache[@virtual_path] ||= @virtual_path.gsub(%r{/_?}, ".")
"#{@_scope_key_by_partial_cache[@virtual_path]}#{stringified_key}"
else
raise "Cannot use t(#{key.inspect}) shortcut because path is not available"
end