Ich habe eine Rails-App auf meiner virtuellen Maschine. Umwelt ist Entwicklung und ich arbeite regelmäßig daran. Ich zog den Code aus dem Repo auf einem neuen Nserver, und immer mit RAILS_ENV
auf development
eingestellt Ich rief als erster Befehl rake db:migrate
und ich bekomme, dass einer meiner Klasse NameError: nicht initialisierte Konstante.Warum bekomme ich NameError: nicht initialisierte Konstante einfach eine Rake db: Erstellen auf einer neuen Maschine
Wie ist das möglich, wenn mein Code und die Umgebung identisch sind? Autoload auf meiner virtuellen Maschine ist richtig konfiguriert, wenn es funktioniert.
config.autoload_paths << Rails.root.join('lib')
config.autoload_paths += Dir[Rails.root.join('app', 'api', '**', '**', '*')]
Und die Klasse, die nicht gefunden werden kann, ist in app/api/nameofclass/anothername/api.rb
.
Wie haben Sie die Klassendefinition in die Datei 'app/api/nameofclass/anothername/api.rb' geschrieben? –
der genaue Pfad ist: app/api/domains/DKIM/api.rb und der Name ist Domains :: DKIM :: Api – ciaoben
einfach mit Ihrer Zeile anstelle von mir und läuft Rake db: create ist gibt TypeError: keine implizite Konvertierung von Array in String /var/www/qbpanel/config/environment.rb:5:in ' '. Und mit '+ =' schreibt es nicht umschreiben .. aber es verkettet die Arrays .... –
ciaoben