我是Ruby on Rails的新手,我想从指定目录读取文件名。有人可以提供代码或其他链接吗?
谢谢
我是Ruby on Rails的新手,我想从指定目录读取文件名。有人可以提供代码或其他链接吗?
谢谢
如果您想获取特定文件夹下的所有文件并放进一个数组中:
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.root.join
,这样更清晰。然后你会得到一个包含文件路径的数组:files = Dir.glob(Rails.root.join('path', 'to', 'folder', '*'))
。target_folder_path = File.join(Rails.root, "/app/models")
Dir.children(target_folder_path)
irb(main)> Dir.children(Rails.root.join('app', 'models'))
=> ["user.rb", "post.rb", "comment.rb"]
Dir
,比如:Dir["app/javascript/content/**/*"]
会返回,例如:
["app/javascript/content/Rails Models.md", "app/javascript/content/Rails Routing.md"]