9

私のアプリケーションはローカルで正常に動作しますが、本番サーバーにインストールすると、次のエラーが実行rails serverされ、ページを要求します。

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'

私の開発マシンはMacOSXMLを実行しています

本番サーバーは、rvmとlibyamlがインストールされたCentOS6です。

両方のサーバーはRuby1.9.2p320とRails3.2.8上にあります

4

2 に答える 2

5

操作YAML.load(File.open('config/locales/ru.yml'))により、1行でエラーが発生しました。

引用符を追加しました:default: '%d.%m.%Y %H:%M'そしてハッシュを取得しました。問題は解決しました。

于 2012-12-11T10:56:54.103 に答える
1

問題はpsych、%記号の付いた文字列を解析できず、SyntaxError例外を生成するYAMLエンジンの使用に関するものです。

syck代わりにエンジンを使用してください。config/boot.rbファイルの最後に次のコードを追加します

YAML::ENGINE.yamler = 'syck'

ヒント:syckにはRubyバージョン>=2.0.0が必要です。

于 2012-11-22T15:54:38.310 に答える