Ruby on rails rails应用程序出现错误;无法从{ru.yml path}加载翻译。该路径应返回哈希,但不“加载”;

Ruby on rails rails应用程序出现错误;无法从{ru.yml path}加载翻译。该路径应返回哈希,但不“加载”;,ruby-on-rails,internationalization,centos,yaml,centos6,Ruby On Rails,Internationalization,Centos,Yaml,Centos6,我的应用程序在本地运行良好,但当我将其安装到生产服务器时,运行rails服务器并请求页面时出现以下错误: ActionView::Template::Error (can not load translations from {app}/config/locales/ru.yml, expected it to return a hash, but does not). 我有YAML翻译ru.yml: ru: clients: index: title: Список

我的应用程序在本地运行良好,但当我将其安装到生产服务器时,运行
rails服务器
并请求页面时出现以下错误:

ActionView::Template::Error (can not load translations from {app}/config/locales/ru.yml, expected it to return a hash, but does not).
我有YAML翻译ru.yml:

ru:
  clients:
    index: 
      title: Список клиентов
调用时发生错误,例如:

%h1=t '.title'
我的开发机器运行的是Mac OS X ML

生产服务器是CentOS 6,安装了rvm和libyaml


这两台服务器都在Ruby 1.9.2p320和Rails 3.2.8上,问题在于使用了
psych
YAML引擎,该引擎无法解析带%符号的字符串并生成语法错误异常

改用syck引擎。将以下代码添加到
config/boot.rb
文件的末尾

YAML::ENGINE.yamler = 'syck'
提示:syck需要Ruby版本>=2.0.0。

操作
YAML.load(File.open('config/locales/ru.yml'))
在其中一行中给了我错误


我添加了引号:
默认值:“%d.%m.%Y%H:%m”
并得到了一个哈希值。问题解决了。

当您在rails控制台中手动阅读时,它会做什么
YAML.load(File.open('config/locales/ru.yml'))
它在以下字符串上给了我错误:
默认值:%d.%m.%Y%H:%m
此行有问题。我添加了引号:
默认值:“%d.%m.%Y%H:%m”
并得到了一个哈希值。问题解决了,谢谢!很好,比它可以关闭的时间长。:)@巫妖请发布你自己的答案(见下文),这样这个问题就结束了,然后它就不会出现了。谢谢