以下是我在rake任务中打开文件的代码:
File.open(Rails.root.join("public/system/xmls/**/original/*.csv"),"r") do |file|
#etc
但它与任何文件都不匹配(有三种可能的匹配)。第一个**是一个名称为2位数的文件夹。我哪里错了?
join
方法通常不会扩展*
和**
,而是将它们作为文字放入。也许这就是问题所在。你想要的可能更像这样:
Dir.glob(Rails.root.join("public/system/xmls/**/original/*.csv")).each do |path|
File.open(path) do |file|
# ...
end
end
单独打开每个文件,你应该会没事的。