У нас это есть в config/initializers/i18n.rb
:
module I18n
# For MissingTranslationData, fall back to the default locale and then to the last key.
# For other exceptions, use the default_exception_handler.
def self.fallback_exception_handler(exception, locale, key, options)
options ||= {}
if !Rails.env.development? && exception.is_a?(MissingTranslationData)
if locale == self.default_locale
send(:normalize_translation_keys, locale, key, options[:scope]).last.to_s
else
self.t(key, options.merge(:locale => self.default_locale))
end
else
send :default_exception_handler, exception, locale, key, options
end
end
end
I18n.exception_handler = :fallback_exception_handler
Обратите внимание, что по замыслу оно не будет возвращаться к разработке (поэтому вы заметите отсутствующие переводы).
Также этоприложение Rails 2.Я считаю, что обработка аварийных исключений несколько изменилась в Rails 3.