Rails.root подстановочные знаки filepath - PullRequest
5 голосов
/ 29 июня 2011

Вот мой код в задаче rake, чтобы открыть файл:

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

, но он не соответствует ни одному файлу (есть три возможных совпадения).Первая ** - это папка с двухзначным именем.Куда я иду не так?

1 Ответ

4 голосов
/ 29 июня 2011

Метод join обычно не расширяет * и **, а помещает их как литералы.Может быть, это проблема.То, что вы хотите, может быть больше похоже на это:

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

Откройте каждый файл по отдельности, и все будет в порядке.

...