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