Sto scrivendo un compito rake personalizzato per Rails, e c'è un punto nel programma in cui riassume ciò che sta per fare e poi chiede all'utente se è quello che è che sta per fare è correttoAccettazione dell'input dell'utente dalla console/prompt dei comandi all'interno di un'attività rake
puts "\n Is this what you want to happen? [Y/N]"
answer = gets.chomp
if answer == "Y"
# commits
else if answer == "N"
return false #(Aborts the rake task)
end
Tuttavia, questo codice causa l'interruzione anticipata del rastrello;
rake aborted!
No such file or directory - populate
"Populate" è il nome dell'attività rake.
Penso che cosa stia realmente causando questo errore nel metodo .gets.
Non so come i .gets metodo funziona in modo esplicito, ma credo che deve inviare automaticamente l'input dell'utente al file in cui viene scritto il copione, e per qualche motivo è che confondersi e pensa che il nome dell'attività rake sia il nome del file. Come populate.rake non esiste, penso che questo sia il motivo per cui viene generato l'errore.
Tuttavia, non so come risolvere questo errore. Il rastrello offre un metodo alternativo a .gets?
http://stackoverflow.com/questions/5427839/is-it-possible-to-make-an-interactive-rake-task – tihom