2010-06-21 21 views
0

在environment.rb中,我可以添加一行的Rails:對目錄load_paths和所有子目錄

config.load_paths += %W(#{RAILS_ROOT}/app/models/foos) 

其中「的Foo」是一個文件夾。這會加載foos文件夾內的所有文件。但是它不加載任何子目錄。

如果我知道所有的子目錄中的「FOOS」文件夾的名稱,這個問題將有一個簡單的解決方案:

%W[folder1 folder2 folder2].each { |f| f.config.load_paths += %W(#{RAILS_ROOT}/app/models/foos/#{f}) } 

不過,我並不總是知道所有文件夾內的名字'FOOS'。有什麼方法做到這一點:

config.load_paths += %W(#{RAILS_ROOT}/app/models/foos/#{**WILDCARD**}) 

感謝

回答

2

它看起來像這樣的其他問題有解決方案,您正在尋找的類型讓所有的子目錄:

get all of the immediate subdirectories in ruby

你可以使用類似下面的內容來指向一個特定的目錄,並得到它的所有子目錄的列表:

Dir['/home/username/Music/*/'] 

這將返回到Music文件夾的子目錄的所有路徑的數組。

+0

看起來不錯。你能幫我調整這個方法在environment.rb中工作嗎? 例如,Dir.glob(「** /」)查找* current *目錄的所有子目錄。我想指向一個不同的目錄,我想加載它的子目錄。 – user94154 2010-06-21 16:55:45

+1

更新了答案,希望能幫助您定位特定的目錄。 – Pete 2010-06-21 23:42:21

相關問題