2016-08-04 15 views
1

So bekam ich einige "Uninitalisierte Konstanten" auf meinem Rake-Task, und ich googelte und fand, dass die Umgebungsvariable geladen werden musste. Allerdings verwende ich auch eine Befehlszeile Argument und im nicht sicher, ob die Positionierung richtig ist oder was:Rake Aufgabe Umgebungsvariable w/Befehlszeilenargumente

desc "Wipes Specific User" 
task :clean_user => environment [:user] do |t, args| 
    puts "Running clean_user for #{args[:user]}..." 
    Core::Stuff.find(args[:user]).wipe_user 
end 

Ohne die Umgebungsvariable irgendwo ich beschwert bekommen über Core :: Stuff nicht initialisiert ist, aber ich bin versucht, weitergeben müssen: Benutzer über CL. (Dies ist nur eine Beispiel-Rake-Aufgabe, um sicherzustellen, dass alles funktioniert).

Fehle ich etwas?

bearbeiten: Reparieren die Ausgabe mit: task :clean_user, [:user] => :environment aber jetzt scheint es, meinen Weg in das Argument zu laden (ich einen Fehler beschweren, wie ‚„Core :: Stuff können keinen Benutzer-ID mit der ID von finden‘So ist es. ? wie es meine CL Pfad als ID ist mit

Antwort

2

im Juwel die docs angeben:

task task_name, arguments => dependencies

, dass Ihr Code bedeutet, muss sein:

task :clean_user, [:user] => :environment do |t, args| 
+0

ich glaube, ich t kann sein: environment (es klagt darüber, "undefined local variable oder method' environment '"), das komische daran ist, dass es meine .find (args [: user]) mit meinem CL-Pfad lädt? Fehler: "Core :: Stuff konnte mit 'id' nicht gefunden werden = /Users/me/Documents/Project/lib/tasks/clean_user.rake" Es ist also so, als würde ich meine Umgebungsvariable als Argument verwenden (Ich renne den Rake Aufgabe als Rake clean_user msmith1114

+0

yep - guter Fang – Anthony

+0

Jede Idee, warum es mein Weg in das heißt Laden: Benutzer Argument – msmith1114

Verwandte Themen