Cada vez que trato de ejecutar cualquier clase de mis rieles lib 2.2 de aplicación usando 'script/mensajero de producción -e ClassName.run' me sale el siguiente error:`const_missing ': constantes sin inicializar (NameError)
/usr/lib/ruby/gems/1.8/gems/rails-2.2.2/lib/commands/runner.rb:47:
/usr/lib/ruby/gems/1.8/gems/activesupport-2.2.2/lib/active_support/dependencies.rb:89:in `const_missing': uninitialized constant ClassName (NameError)"
Por alguna razón no obtengo este error cuando lo ejecuto como test
en lugar de production
, y todo funciona bien.
O sí run
es un método de clase es decir def self.run .... end
alguna sugerencia?
Esa es la cosa. La clase que falta en cuestión es una que he definido en lib. Incluso cosas sencillas como la coincidencia del nombre de clase con el nombre del archivo se comprueban; en resumen, está definido. No sé lo que me estoy perdiendo, ya que funciona muy bien en dev y prueba simplemente no producción – chaostheory
Ah, eso es interesante ... Bien, una cosa acerca de pasar a producción es que las cosas se inicializan y almacenan en caché de diferentes maneras para dev y prueba. ¿De dónde se llama la lib? Particularmente vea si requiere la lib en production.rb resuelve el problema. – robertpostill
Acabo de llamarlo desde la raíz de mi aplicación ... No puedo esperar para probar esto esta noche; OMG si esto es lo que sería increíble – chaostheory