Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/variables/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 大小写中Rails区域设置命名空间的差异_Ruby On Rails 3_Rails I18n - Fatal编程技术网

Ruby on rails 3 大小写中Rails区域设置命名空间的差异

Ruby on rails 3 大小写中Rails区域设置命名空间的差异,ruby-on-rails-3,rails-i18n,Ruby On Rails 3,Rails I18n,我使用Rails I18n功能。我的区域设置是名称空间,例如:en ZA 当我运行模型规范时,它会选择activerecord区域设置。当我运行我的控制器规格时,它会在我的activerecord区域设置上进行选择。当我运行我的验收(完整堆栈)测试时,除了一个测试之外,它也会在activerecord区域设置上启动 当我一次运行整个套件时(所有通过的测试现在都失败了,因为它找不到我的activerecord区域设置),它抱怨的名称空间都是小写的 当我将locale yml文件中的名称空间更改为e

我使用Rails I18n功能。我的区域设置是名称空间,例如:en ZA

当我运行模型规范时,它会选择activerecord区域设置。当我运行我的控制器规格时,它会在我的activerecord区域设置上进行选择。当我运行我的验收(完整堆栈)测试时,除了一个测试之外,它也会在activerecord区域设置上启动

当我一次运行整个套件时(所有通过的测试现在都失败了,因为它找不到我的activerecord区域设置),它抱怨的名称空间都是小写的

当我将locale yml文件中的名称空间更改为en-za时,测试通过了,但其他人失败了,他们现在正在寻找en-za语言环境(请注意大写位)

当我运行整个套件时,它是在寻找小写名称空间还是正确的大小写名称空间,这怎么可能会发生变化呢

另外-当我只运行验收测试时-只有一个失败的测试,它试图使用错误的外壳访问activerecord区域设置

这是非常奇怪的-我不知道在哪里改变它或设置它应该总是使用en-ZA(而不是en-ZA)


我的默认语言环境设置为en ZA。

尝试查看您的
配置/初始化器/i18n.rb
-可能有一些可用的语言环境是大写的?

我无法找出错误的来源-但找到了一个简单的解决方案:


我所有的语言环境都只能使用小写字母。

No-我在这个阶段只有一个语言环境-它是en-ZA。