【发布时间】:2013-09-30 06:21:38
【问题描述】:
我正在为 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 过早中止;
rake aborted!
No such file or directory - populate
“populate”是 rake 任务的名称。
我认为 .gets 方法中真正导致此错误的原因是什么。
我不知道 .gets 方法是如何明确工作的,但我猜它必须自动将用户输入发送回编写脚本的文件,并且由于某种原因它是感到困惑,它认为 rake 任务的名称是文件的名称。由于 populate.rake 不存在,我认为这就是引发错误的原因。
但是,我不知道如何解决此错误。 rake 是否提供了 .gets 的替代方法?
【问题讨论】:
标签: ruby-on-rails ruby rake