I wanted my seeds.rb file to have two paths based on some user input. For the sake of simplicity in this question I've stripped it down to just these two lines:
print "> "
res = gets.chomp
When I run rake db:seed, the following exception is raised:
▶ 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)>'
Anyone know why this is happening, i.e. why gets.chomp in this context is causing the program to try to open a file named db:seed?
Try using STDIN.gets.chomp
instead of gets.chomp
.
See What's the difference between gets.chomp() vs. STDIN.gets.chomp()? for the explanation.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With