Ruby on rails 3.2 在模型文件中使用i18n字符串的Rails3
在应用程序中,字符串需要以用户的语言生成,然后传递到另一个服务器/应用程序。因此,该模型可以识别Ruby on rails 3.2 在模型文件中使用i18n字符串的Rails3,ruby-on-rails-3.2,rails-i18n,Ruby On Rails 3.2,Rails I18n,在应用程序中,字符串需要以用户的语言生成,然后传递到另一个服务器/应用程序。因此,该模型可以识别 def user_language self.user.idioma.code.downcase end 但是,基于该语言生成字符串并读取区域设置的yaml文件是一项挑战: def description user_language.products.name end 我意识到模型不知道去查找区域设置文件。如何调用它?答案更简单,正如我所料,相当简洁 def
def user_language
self.user.idioma.code.downcase
end
但是,基于该语言生成字符串并读取区域设置的yaml文件是一项挑战:
def description
user_language.products.name
end
我意识到模型不知道去查找区域设置文件。如何调用它?答案更简单,正如我所料,相当简洁
def description
I18n.t('products.name', :locale => user_language)
end
注意I18n中的大写字母“I”。我在这件事上坚持了很长一段时间。我见过的大多数引用都使用第一个字符小写=>i18n,但这会生成一个
未定义的局部变量或方法“i18n”
答案很简单,正如我所料,相当简洁
def description
I18n.t('products.name', :locale => user_language)
end
注意I18n中的大写字母“I”。我在这件事上坚持了很长一段时间。我见过的大多数引用都使用第一个字符小写=>i18n,但这会生成一个
未定义的局部变量或方法“i18n”