Ogni volta che si tenta di eseguire qualsiasi classe dai miei binari directory lib 2.2 Applicazioni che usano "lo script/runner produzione -e ClassName.run" ottengo il seguente errore:`const_missing ': non inizializzato costante (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)"
Per qualche motivo non visualizzo questo errore quando lo eseguo come test
anziché production
e tutto funziona correttamente.
O sì run
è un metodo di classe cioè def self.run .... end
Qualche suggerimento?
Questa è la cosa. La classe mancante in questione è quella che ho definito in lib. Anche le cose semplici come la corrispondenza tra il nome della classe e il nome del file vengono verificate; in breve è definito. Non so cosa mi manca dato che funziona molto bene su dev e il test non è produzione – chaostheory
Ah, è interessante ... OK, una cosa che riguarda lo spostamento verso la produzione è che le cose sono inizializzate e memorizzate in cache in modi diversi da dev e test. Da dove viene chiamata la lib? In particolare, vedere se richiedere la lib in production.rb risolve il problema. – robertpostill
Ho appena chiamato dalla radice della mia app ... Non vedo l'ora di provarlo stasera; OMG se questo sarebbe fantastico – chaostheory