我希望能够拯救I18n::MissingTranslationData
像这样:
begin
value = I18n.t('some.key.that.does.not.exist')
puts value
return value if value
rescue I18n::MissingTranslationData
puts "Kaboom!"
end
我尝试了上面的方法,但它似乎没有进入救援区。我只是在我的控制台上看到(因为puts
): translation missing: some.key.that.does.not.exist
。我从未见过Kaboom!
.
我该如何让它发挥作用?
IMO,这很奇怪,但在当前版本中i18n (0.5.0)
你应该传递一个你想要拯救的异常:
require 'i18n'
begin
value = I18n.translate('some.key.that.does.not.exist', :raise => I18n::MissingTranslationData)
puts value
return value if value
rescue I18n::MissingTranslationData
puts "Kaboom!"
end
并且会在未来的0.6版本中修复(你可以测试一下 -https://github.com/svenfuchs/i18n https://github.com/svenfuchs/i18n)
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)