Skip to content

Commit

Permalink
Merge pull request #19649 from aprescott/allow-array-defaults
Browse files Browse the repository at this point in the history
Allow an array to be a default translation value.
  • Loading branch information
matthewd committed Apr 4, 2015
2 parents 191facc + 6f3c65f commit 07875e2
Show file tree
Hide file tree
Showing 3 changed files with 12 additions and 1 deletion.
6 changes: 6 additions & 0 deletions actionview/CHANGELOG.md
@@ -1,3 +1,9 @@
* `translate` allows `default: [[]]` again for a default value of `[]`.

Fixes #19640.

*Adam Prescott*

* `translate` should accept nils as members of the `:default`
parameter without raising a translation missing error. Fixes a
regression introduced 362557e.
Expand Down
2 changes: 1 addition & 1 deletion actionview/lib/action_view/helpers/translation_helper.rb
Expand Up @@ -41,7 +41,7 @@ def translate(key, options = {})
remaining_defaults = Array(options.delete(:default)).compact

if has_default && !remaining_defaults.first.kind_of?(Symbol)
options[:default] = remaining_defaults.shift
options[:default] = remaining_defaults
end

# If the user has explicitly decided to NOT raise errors, pass that option to I18n.
Expand Down
5 changes: 5 additions & 0 deletions actionview/test/template/translation_helper_test.rb
Expand Up @@ -195,6 +195,11 @@ def test_translate_with_array_of_defaults_with_nil
assert_equal 'A Generic String', translation
end

def test_translate_with_array_of_array_default
translation = translate(:'translations.missing', default: [[]])
assert_equal [], translation
end

def test_translate_does_not_change_options
options = {}
translate(:'translations.missing', options)
Expand Down

0 comments on commit 07875e2

Please sign in to comment.