Errno::ENOTDIR (Не каталог @ rb_sysopen

Это код:

File.read(File.expand_path("data.json", __FILE__))

Это ошибка, которую я получаю:

Errno::ENOTDIR (Not a directory @ rb_sysopen - /mnt/c/Users/Amadeus Pagel/Documents/readpaths/imports/khanacademy/import.rb/data.json)

Но когда я запускаю это из консоли rails в каталоге readpaths, это работает:

File.read("imports/khanacademy/data.json")

2 ответа

Второй аргумент File.expand_path должен быть каталогом, но вы передаете __FILE__, который является файлом, а не каталогом. Вам либо нужно использовать File.dirname(__FILE__) или же __dir__,

FILE дает относительный путь к текущему файлу, который в вашем случае является / mnt / c / Users / Amadeus Pagel / Documents / readpaths / import / khanacademy / import.rb import.rb не является каталогом. Итак, вы получаете ошибку. Попробуй это

File.read(File.expand_path("data.json",File.dirname(__FILE__))

Другие вопросы по тегам