Чтение файлов в каталоге на 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) также этот код возвращает массив без '.' а также '..'
Ответ 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) также этот код возвращает массив без '.' а также '..'