aboutsummaryrefslogtreecommitdiffstats
path: root/actionview/lib
diff options
context:
space:
mode:
authorBernard Potocki <bernard.potocki@imanel.org>2015-05-04 22:26:07 +0200
committerBernard Potocki <bernard.potocki@imanel.org>2015-05-04 22:26:07 +0200
commit9c8542bb12fac316253addf24e4fa2af34d33d7d (patch)
tree7d8349b748d772ee490b91e6b7ee1af06c41da33 /actionview/lib
parent71669370ae789f547311821ab880b0f19682b405 (diff)
downloadrails-9c8542bb12fac316253addf24e4fa2af34d33d7d.tar.gz
rails-9c8542bb12fac316253addf24e4fa2af34d33d7d.tar.bz2
rails-9c8542bb12fac316253addf24e4fa2af34d33d7d.zip
Handle raise flag in translate when both main and default translation is missing. Fixes #19967
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?