Я пишу настраиваемую задачу rake для Rails, и есть точка, в которой она суммирует, что она собирается делать, а затем спрашивает пользователя, правильно ли это делать.
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" - это имя задачи рейка.
Я думаю, что действительно вызывает эту ошибку в методе .gets.
Я не знаю, как явно работает метод .gets, но я предполагаю, что он должен автоматически отправить пользовательский ввод обратно в файл, где написано script, а для некоторых причина, по которой он запутывается, и думает, что имя команды rake - это имя файла. Поскольку populate.rake не существует, я думаю, именно поэтому возникает ошибка.
Однако я не знаю, как обойти эту ошибку. Использует ли rake альтернативный метод .gets?