如何在rake任务中使用“gets”?

时间:2009-02-23 07:30:54

标签: ruby-on-rails ruby rake

每当我尝试在rake任务中使用该函数时,我都会收到错误。有没有办法让它发挥作用?

错误说“没有这样的文件或目录 - (rake task name)”

2 个答案:

答案 0 :(得分:147)

问题是Kernel#gets(如果你自己只使用gets,那就是你正在调用的那个)假设你正在从传递给Rake的参数命名的文件中提取。这意味着gets尝试返回名为[rake-task-here]的文件的内容,这几乎肯定不存在。

尝试STDIN.gets

答案 1 :(得分:-4)

我认为你不应该在rake任务中使用gets,如果你需要从命令行获取输入,你可能应该将其作为参数传递,但是如果你发布一些不起作用的代码那么我相信你会得到更好的答案。