2016-04-20 43 views
1

我希望我的seeds.rb文件具有基于某些用户输入的两条路径。为了简单在这个问题上的缘故,我已经剥离下来,只是这两条线:在种子中使用`gets.chomp`时出现“No such file”错误.rb

print "> " 
res = gets.chomp 

当我运行耙分贝:种子,以下异常引发:

▶ rake db:seed 
> rake aborted! 
Errno::ENOENT: No such file or directory @ rb_sysopen - db:seed 
/home/me/work/my_app/db/seeds.rb:5:in `gets' 
/home/me/work/my_app/db/seeds.rb:5:in `gets' 
/home/me/work/my_app/db/seeds.rb:5:in `<top (required)>' 

任何人都知道为什么会发生这种情况,即为什么在这种情况下gets.chomp导致程序尝试打开名为db:seed的文件?

+0

您是否在使用ARGV? – 13aal

+0

技术上我是。 'rake'的参数是'db:seed'。因此,la @ Glenn的答案解释了为什么它试图使用'db:seed'作为输入流。 – sixty4bit

+0

是的@格伦的答案应该可以帮到你。在Ruby中使用ARGV时,程序会从“STDIN”以外的地方查找输入。我个人认为这是一个需要修补的bug,但这只是我自己的看法。 – 13aal

回答

相关问题