mirror of
https://github.com/rails/rails.git
synced 2022-11-09 12:12:34 -05:00
add lazy look up in abstract controller's translate method
This commit is contained in:
parent
58ccc9f6c5
commit
1b5298e805
2 changed files with 20 additions and 1 deletions
|
@ -1,6 +1,12 @@
|
|||
module AbstractController
|
||||
module Translation
|
||||
def translate(*args)
|
||||
key = args.first
|
||||
if key.is_a?(String) && (key[0] == '.')
|
||||
key = "#{ controller_path.gsub('/', '.') }.#{ action_name }#{ key }"
|
||||
args[0] = key
|
||||
end
|
||||
|
||||
I18n.translate(*args)
|
||||
end
|
||||
alias :t :translate
|
||||
|
@ -10,4 +16,4 @@ module AbstractController
|
|||
end
|
||||
alias :l :localize
|
||||
end
|
||||
end
|
||||
end
|
||||
|
|
|
@ -23,4 +23,17 @@ class TranslationControllerTest < ActiveSupport::TestCase
|
|||
def test_action_controller_base_responds_to_l
|
||||
assert_respond_to @controller, :l
|
||||
end
|
||||
|
||||
def test_lazy_lookup
|
||||
expected = 'bar'
|
||||
@controller.stubs(:action_name => :index)
|
||||
I18n.stubs(:translate).with('action_controller.base.index.foo').returns(expected)
|
||||
assert_equal expected, @controller.t('.foo')
|
||||
end
|
||||
|
||||
def test_default_translation
|
||||
key, expected = 'one.two' 'bar'
|
||||
I18n.stubs(:translate).with(key).returns(expected)
|
||||
assert_equal expected, @controller.t(key)
|
||||
end
|
||||
end
|
||||
|
|
Loading…
Reference in a new issue