我正在爲Rails編寫一個自定義Rake任務,它總結了要執行的操作的程序,然後詢問用戶它是什麼即將做的事是正確的。在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
但是,該代碼會導致rake過早中止;
rake aborted!
No such file or directory - populate
「填入」 是耙任務的名稱。
我想在.gets方法中真正導致這個錯誤的是什麼。
我不知道該怎麼.gets方法顯式的作品,但我猜它必須自動將用戶輸入返回到腳本編寫的文件,以及由於某種原因,它感到困惑,並認爲rake任務的名稱是文件的名稱。由於populate.rake不存在,我認爲這就是錯誤被拋出的原因。
但是,我不知道如何解決這個錯誤。 耙提供替代方法.gets?
http://stackoverflow.com/questions/5427839/is-it-possible-to-make-an-interactive-rake-task – tihom