Warum bekomme ich nicht initialisierte Konstante für eine Rake-Aufgabe, Rails 4.1.8

8

Ich habe dieses seltsame Problem, wenn ich das tue:

%Vor%

Die erste Aufgabe wird perfekt funktionieren. Ich kann sogar ein binding.pry in Seite platzieren und Xaaron::Role ausführen und Informationen über Rollen zurück erhalten. Aber die zweite Aufgabe explodiert mit NameError: uninitialized constant Xaaron::Role

Ich führe jede Aufgabe in meiner Hauptanwendung (da sich diese Aufgaben in einer Engine befinden) wie folgt aus: bin/rake xaaron:get_roles und bin/rake xaaron:get_role .

Warum explodiert die zweite, aber die erste nicht? Gibt es ein Scoping-Ding, das mit Argumenten fortfährt?

Aktualisieren

Ich sollte beachten, dass ich eine bin/rails c in der Haupt-App machen kann, die diese Engine verwendet und Xaaron::Role macht und Informationen über die Rolle-Tabelle erhält.

    
SeekingTruth 11.12.2014, 20:09
quelle

2 Antworten

24

Ich bin mir nicht sicher, warum das funktioniert, aber wenn das Schienen sind und diese Schienenmodelle sind, sollten Ihre Aufgaben von der Umgebung abhängen:

%Vor%

Abhängig von der Aufgabe: environment lädt es zuerst Schienen.

Siehe auch:

Was ist die "Umwelt" Aufgabe in Rake?

    
DGM 11.12.2014, 20:28
quelle
0

Sie können Rake-Task auch als

ausführen %Vor%

Dies wird zuerst die Rails-Umgebung laden.

    
Max Prokopov 08.09.2016 09:08
quelle