raise original exception in i18n interpolation fallback middleware
This commit is contained in:
parent
21feb91d27
commit
ceee5baae6
1 changed files with 5 additions and 3 deletions
|
|
@ -5,17 +5,19 @@ module I18n
|
|||
default = extract_non_symbol_default!(options) if options[:default]
|
||||
options.merge!(:default => default) if default
|
||||
|
||||
original_exception = nil
|
||||
|
||||
I18n.fallbacks[locale].each do |fallback|
|
||||
begin
|
||||
result = super(fallback, key, options)
|
||||
return result unless result.nil?
|
||||
rescue I18n::MissingInterpolationArgument
|
||||
rescue I18n::InvalidPluralizationData
|
||||
rescue I18n::MissingInterpolationArgument, I18n::InvalidPluralizationData => e
|
||||
original_exception ||= e
|
||||
end
|
||||
end
|
||||
|
||||
return super(locale, nil, options) if default
|
||||
raise(I18n::MissingInterpolationArgument.new(key, options, locale))
|
||||
raise original_exception
|
||||
end
|
||||
end
|
||||
end
|
||||
|
|
|
|||
Loading…
Reference in a new issue