私は Rails 用のカスタム 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 aborted!
No such file or directory - populate
" populate " は rake タスクの名前です。
.getsメソッドでこのエラーが実際に発生している原因は何だと思います。
.getsメソッドが明示的にどのように機能するかはわかりませんが、スクリプトが記述されているファイルにユーザー入力を自動的に送り返す必要があると推測しています。何らかの理由で混乱しており、レーキの名前を考えていますtask はファイルの名前です。populate.rakeが存在しないため、これがエラーがスローされている理由だと思います。
ただし、このエラーを回避する方法がわかりません。rakeは.getsに代わる方法を提供していますか?