2012-09-25 18 views
7

Mi aplicación funciona bien localmente, pero cuando la instalo en el servidor de producción, obtengo el error al ejecutar rails server siguiente y solicitando la página:aplicación de rieles da error "no se pueden cargar las traducciones desde {ruta ru.yml} se espera que devuelva un hash, pero no"

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

tengo YAML traducción ru.yml:

ru: 
    clients: 
    index: 
     title: Список клиентов 

y error ocurre mientras la llamada, por ejemplo:

%h1=t '.title' 

Mi máquina de desarrollo ejecuta Mac OS X ML

El servidor de producción es CentOS 6 con rvm y libyaml instalados.

Ambos servidores están en Rubí 1.9.2p320 y los carriles 3.2.8

+3

¿Qué hace cuando lo lees a mano en la consola de rieles? 'YAML.load (File.open ('config/locales/ru.yml'))' –

+0

Me da error en la siguiente cadena: 'predeterminado:% d.% M.% Y% H:% M' – lich

+1

Hay fue un problema en esta línea. Agregué comillas: 'predeterminado: '% d.% M.% Y% H:% M'' y obtuve un hash. Problema resuelto, ¡gracias! – lich

Respuesta

5

Operación YAML.load(File.open('config/locales/ru.yml')) me dio el error en una de las líneas.

He añadido comillas: default: '%d.%m.%Y %H:%M' y tengo un hash. El problema está resuelto.

1

El problema es sobre el uso del motor psych YAML que no puede analizar cadenas con signo% y genera SyntaxError excepción.

Use syck motor en su lugar. Agregue el código siguiente al final de su archivo config/boot.rb

YAML::ENGINE.yamler = 'syck' 

pista: Syck requiere Rubí versión> = 2.0.0.

Cuestiones relacionadas