Ruby on Railsで、指定したディレクトリからファイル名を読み取りたいのですが、コードやその他のリンクを提案できますか?
ありがとう
Dir.entries("target_dir")
を使用することをお勧めします
ドキュメントを確認してください ここ
配列内の特定のフォルダーの下にあるすべてのファイルを取得する場合:
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"]
フィルタリングされたファイルのリストを取得する場合は、Dir.glob
を使用することもできます。
Dir.glob("*.rb")
# => ["application.rb", "environment.rb"]
基本的にはFile.basename(file)
でファイル名を取得できます
Dir.glob("path").map{ |s| File.basename(s) }
Railsでは、_Rails.root.join
_を使用する必要があります。これはよりクリーンです。
files = Dir.glob(Rails.root.join(‘path’, ‘to’, ‘folder’))
次に、ファイルパスを含む配列を取得します
最初に、ターゲットフォルダへのパスを正しく作成する必要があります
たとえば、ターゲットフォルダが「app」フォルダの「models」の場合
target_folder_path = File.join(Rails.root, "/app/models")
そして、これはすべてのファイル名を含む配列を返します
Dir.children(target_folder_path)
また、このコードは「。」なしの配列を返します。および「..」