2016-09-08 3 views
0

So habe ich eine ziemlich einfache Rake Aufgabe, es sieht aus wie solche:Rake-Task wird im Arbeitsverzeichnis geladen?

#Clean User 
desc "Wipes User" 
task :clean_user, [:emp] => :environment do |t, args| 
Core::User.find(args[:emp]).destroy 
end 

Einfach richtig? Im Wesentlichen nimmt es eine ID auf und wischt den Benutzer ab. So laufe ich den Rechen Aufgabe als bundle exec rake clean_user 123

Die 123 ist nur jede Probennummer, aber die seltsame Sache ist, die Fehler, die ich zurückbekommen, die im Wesentlichen sagt:

„Fehler nicht vom Benutzer mit der ID gefunden = Mein Arbeitsverzeichnispfad "

natürlich ersetzen Mein Arbeitsverzeichnispfad mit/usr/me/documents/Ordner/etc ....

Das macht keinen Sinn? Es ist so, als würde es die 123-Nummer nicht aufnehmen? Sind meine Argumente falsch eingestellt, um Parameter von der Befehlszeile zu übernehmen?

Dank

+0

siehe http://stackoverflow.com/questions/825748/how-to-pass-command-line-arguments-to-a-rake-task?rq=1, wie Befehl hinzufügen Linie Parameter zu Rake Aufgaben – Louis

Antwort

1

Rake Aufgabe Argumente sind nicht so auf der Kommandozeile übergeben. Versuchen Sie folgendes:

bundle exec rake clean_user[123] 
+0

Yup das war es, kann nicht glauben, dass es so einfach war! – msmith1114