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的文件?
您是否在使用ARGV? – 13aal
技术上我是。 'rake'的参数是'db:seed'。因此,la @ Glenn的答案解释了为什么它试图使用'db:seed'作为输入流。 – sixty4bit
是的@格伦的答案应该可以帮到你。在Ruby中使用ARGV时,程序会从“STDIN”以外的地方查找输入。我个人认为这是一个需要修补的bug,但这只是我自己的看法。 – 13aal