Za każdym razem staram się uruchomić dowolną klasę z moich szynach lib 2.2 za pomocą aplikacji«skrypt/zawodnik -e produkcja ClassName.run»pojawia się następujący błąd:`const_missing ': niezainicjowany stała (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)"
Z jakiegoś powodu nie otrzymuję tego błędu, gdy uruchamiam go jako test
zamiast production
i wszystko działa poprawnie.
O tak run
jest metoda klasy tj def self.run .... end
sugestie?
To jest to. Brakująca klasa, o której mowa, to taka, którą zdefiniowałem w bibliotece. Nawet proste rzeczy, takie jak dopasowanie nazwy klasy do nazwy pliku, są sprawdzane; w skrócie to jest zdefiniowane. Nie wiem, czego mi brakuje, ponieważ działa świetnie na dev i test po prostu nie jest produkcją – chaostheory
Ah, to ciekawe ... OK jedną rzeczą związaną z przejściem do produkcji jest to, że rzeczy są inicjowane i przechowywane w pamięci podręcznej na różne sposoby test. Skąd wywoływana jest biblioteka? Szczególnie sprawdź, czy wymaganie biblioteki lib w production.rb rozwiązuje problem. – robertpostill
Po prostu nazywam to z katalogu głównego mojej aplikacji ... Nie mogę się doczekać, aby przetestować to dziś wieczorem; OMG, jeśli to byłoby niesamowite, – chaostheory