Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/search/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 我的rails项目有两个不同的I18n.load\u路径和I18n.locale_Ruby On Rails_Ruby_Internationalization_Locale - Fatal编程技术网

Ruby on rails 我的rails项目有两个不同的I18n.load\u路径和I18n.locale

Ruby on rails 我的rails项目有两个不同的I18n.load\u路径和I18n.locale,ruby-on-rails,ruby,internationalization,locale,Ruby On Rails,Ruby,Internationalization,Locale,所以我翻译我的项目来处理不同的语言。我已经翻译了文件夹/app/views/和/lib/modules/中的几乎所有代码。没有任何问题 现在我想翻译一个文件,它告诉我“I18n.locale”与我的不同,加载路径也错误 所以I18n可以很好地处理我前面提到的文件,已经翻译成西班牙语了。但是当我看到这个文件时,它告诉我区域设置是:en(默认的),加载路径是错误的,只是在一些gem中寻找区域设置,比如回形针(我猜是默认的加载路径) 我很困惑。为什么这个文件不受application.rb中设置的变量

所以我翻译我的项目来处理不同的语言。我已经翻译了文件夹/app/views/和/lib/modules/中的几乎所有代码。没有任何问题

现在我想翻译一个文件,它告诉我“I18n.locale”与我的不同,加载路径也错误

所以I18n可以很好地处理我前面提到的文件,已经翻译成西班牙语了。但是当我看到这个文件时,它告诉我区域设置是:en(默认的),加载路径是错误的,只是在一些gem中寻找区域设置,比如回形针(我猜是默认的加载路径)

我很困惑。为什么这个文件不受application.rb中设置的变量的影响?为什么我的项目中有两个不同的I18n.locale?我怎样才能解决这个问题

我已经通过像application.rb一样再次加载此文件中的路径解决了加载路径问题,但是I18n.locale是不同的,因为我必须采用数据库中用户的:preferred_locale来分配它,但显然我不能这样做,因为user.all给了我错误,我无法从数据库中检索用户,但我可以做其他查询

发生了什么事?提前谢谢

编辑:顺便说一句,这是我的第一个问题,所以请对我放松:)


edit2:该文件既不是类也不是模块,它只是从其他模块执行请求并设置一些变量。该文件位于lib/file_中,带有_problem.rb

以防任何人遇到此问题,在某些文件中,他们没有来自I18n的正确加载路径,我通过在application.rb中使用I18n的全局变量来解决此问题。因此,如果我遇到此问题:

config.i18n.load_path += Dir["#{config.root}/lib/modules/#{module_name}/config/locales/*.yml"]
config.i18n.load_path += Dir[Rails.root.join('config', 'locales', '*.{rb,yml}').to_s]
我通过添加相同的行来解决问题,但没有配置,第一个字母大写

I18n.load_path += Dir["#{config.root}/lib/modules/#{module_name}/config/locales/*.yml"]
I18n.load_path += Dir[Rails.root.join('config', 'locales', '*.{rb,yml}').to_s]