Чтение файлов в каталоге на ruby ​​on rails

Я новичок в ruby ​​на рельсах, и я хочу читать имена файлов из указанного каталога. Может ли кто-нибудь предлагать код или любые другие ссылки?

Спасибо

Ответы

Ответ 1

Я предлагаю вам использовать Dir.entries("target_dir")

Проверьте документацию здесь

Ответ 2

Если вы хотите получить весь файл под определенной папкой в ​​массиве:

files = Dir.glob("#{Rails.root}/private/**/*")

#=> ["/home/demo/private/sample_test.ods", "/home/demo/private/sample_test_two.ods", "/home/demo/private/sample_test_three.ods", "/home/demo/private/sample_test_one.ods"]

Ответ 3

Если вы хотите вытащить отфильтрованный список файлов, вы также можете использовать Dir.glob:

Dir.glob("*.rb")
# => ["application.rb", "environment.rb"]

Ответ 4

вы можете просто получить имена файлов с помощью File.basename(file)

Dir.glob("path").map{ |s| File.basename(s) }

Ответ 5

С Rails вы должны использовать Rails.root.join, его очиститель.

files = Dir.glob(Rails.root.join('path, 'to, 'folder))

Тогда вы получите массив с путями файлов

Ответ 6

сначала нужно правильно создать путь к целевой папке

например, когда ваша целевая папка находится в папке "models" в папке "app"

target_folder_path = File.join(Rails.root, "/app/models")

а затем возвращает массив, содержащий все имена файлов

Dir.children(target_folder_path)

также этот код возвращает массив без '.' а также '..'