Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/svg/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails 3.2 在模型文件中使用i18n字符串的Rails3_Ruby On Rails 3.2_Rails I18n - Fatal编程技术网

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”