Rails.root文件路径通配符

sno*_*gel 5 ruby ruby-on-rails file wildcard

这是我在rake任务中打开文件的代码:

  File.open(Rails.root.join("public/system/xmls/**/original/*.csv"),"r") do |file| 
  #etc
Run Code Online (Sandbox Code Playgroud)

但它不匹配任何文件(有三种可能的匹配).第一个**是一个名为2位的文件夹.我哪里错了?

tad*_*man 4

join方法通常不会扩展***而是将它们作为文字放入。也许这就是问题所在。你想要的可能更像是这样的:

Dir.glob(Rails.root.join("public/system/xmls/**/original/*.csv")).each do |path|
  File.open(path) do |file|
    # ...
  end
end
Run Code Online (Sandbox Code Playgroud)

单独打开每个文件应该没问题。