aboutsummaryrefslogtreecommitdiffstats
path: root/actionview/lib
diff options
context:
space:
mode:
authorMatthew Draper <matthew@trebex.net>2015-05-05 06:53:13 +0930
committerMatthew Draper <matthew@trebex.net>2015-05-05 06:53:13 +0930
commita95151bb13529bdade475ba781421b647835d493 (patch)
treea31df09789438ca88e4a77db01269b984a486adf /actionview/lib
parentfaaed863dd374b6c3c3ee0e317ed213edce1dd4d (diff)
parent9c8542bb12fac316253addf24e4fa2af34d33d7d (diff)
downloadrails-a95151bb13529bdade475ba781421b647835d493.tar.gz
rails-a95151bb13529bdade475ba781421b647835d493.tar.bz2
rails-a95151bb13529bdade475ba781421b647835d493.zip
Merge pull request #19998 from imanel/fix-missing-translation
Handle raise flag in translate when both main and default translation is missing.
Diffstat (limited to 'actionview/lib')
-rw-r--r--actionview/lib/action_view/helpers/translation_helper.rb8
1 files changed, 4 insertions, 4 deletions
diff --git a/actionview/lib/action_view/helpers/translation_helper.rb b/actionview/lib/action_view/helpers/translation_helper.rb
index 089627a221..be80bc4ccf 100644
--- a/actionview/lib/action_view/helpers/translation_helper.rb
+++ b/actionview/lib/action_view/helpers/translation_helper.rb
@@ -62,10 +62,10 @@ module ActionView
# Note: `raise_error` refers to us re-raising the error in this method. I18n is forced to raise by default.
if options[:raise] == false || (options.key?(:rescue_format) && options[:rescue_format].nil?)
raise_error = false
- options[:raise] = false
+ i18n_raise = false
else
raise_error = options[:raise] || options[:rescue_format] || ActionView::Base.raise_on_missing_translations
- options[:raise] = true
+ i18n_raise = true
end
if html_safe_translation_key?(key)
@@ -75,11 +75,11 @@ module ActionView
html_safe_options[name] = ERB::Util.html_escape(value.to_s)
end
end
- translation = I18n.translate(scope_key_by_partial(key), html_safe_options)
+ translation = I18n.translate(scope_key_by_partial(key), html_safe_options.merge(raise: i18n_raise))
translation.respond_to?(:html_safe) ? translation.html_safe : translation
else
- I18n.translate(scope_key_by_partial(key), options)
+ I18n.translate(scope_key_by_partial(key), options.merge(raise: i18n_raise))
end
rescue I18n::MissingTranslationData => e
if remaining_defaults.present?