Jer*_*ome 3 ruby-on-rails-3.2 rails-i18n
在应用程序中,需要以用户的语言生成字符串,然后将其传递到另一个服务器/应用程序。因此该模型可以识别
def user_language
self.user.idioma.code.downcase
end
Run Code Online (Sandbox Code Playgroud)
但基于该语言生成一个字符串并读取语言环境的 yaml 文件是一个挑战:
def description
user_language.products.name
end
Run Code Online (Sandbox Code Playgroud)
我意识到该模型不知道去查找区域设置文件。怎样才能调用它呢?
答案更简单(正如我所料,相当简洁)
def description
I18n.t('products.name', :locale => user_language)
end
Run Code Online (Sandbox Code Playgroud)
请注意 I18n 中的大写“I”。我在这个问题上停留了很长一段时间。我见过的大多数参考资料都使用第一个字符小写 => i18n,但这会生成一个
未定义的局部变量或方法“i18n”
| 归档时间: |
|
| 查看次数: |
711 次 |
| 最近记录: |