Before_validation:set_locale vs I18n.t(text:...,locale :)

时间:2017-10-16 10:51:06

标签: ruby-on-rails dry rails-i18n setlocale

对你有什么好处?

  • 在页面的所有I18n.t(....)消息中精确定位区域设置,或
  • 在before_validation逻辑中设置set_locale?

我对DRY以及表现感到担忧。

2 个答案:

答案 0 :(得分:2)

您应该在会话中保存您的语言环境,并在应用程序启动时默认设置它。

我建议你阅读这篇文章:best practices

答案 1 :(得分:0)

您应该使用这两种方法在Rails应用程序中实现i18n。

  1. 在控制器的before_action中设置区域设置。(参考:http://guides.rubyonrails.org/i18n.html
  2. 使用I18n.t()根据当前区域设置翻译文本。