Rails:目录和所有子目录的load_paths

时间:2010-06-21 01:35:43

标签: ruby-on-rails ruby load-path

在environment.rb中我可以添加行

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

其中'foos'是一个文件夹。这会加载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**} )

由于

1 个答案:

答案 0 :(得分:2)

看起来这个问题有你想要获得所有子目录的解决方案类型:

get all of the immediate subdirectories in ruby

您可以使用以下内容指向特定目录并获取其所有子目录的列表:

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

这将返回一个包含Music文件夹子目录的所有路径的数组。