递归地包括所有模型子目录

如何在模型和lib目录中递归加载所有目录? 在application.rb中,我有以下几行:

config.autoload_paths += Dir[Rails.root.join('app', 'models', '{**}')] config.autoload_paths += Dir[Rails.root.join('lib', '{**}')] 

但他们似乎只添加了一个级别的模型和lib子目录。

谢谢

这应该是有帮助的

  Dir["#{config.root}/app/models/**/","#{config.root}/lib/**/"] 

请享用! (:

更新:

优秀的问题,上面的post示例我简单地提到了我最近的项目。

经过一些测试后,我会得到更好的理解,这很棒。

主要区别当然是在File not config.root / Rails.root的join方法中

在’**’后跟踪’/’是有道理的。

第一个说明在globbing时匹配目录。 第二个谈话以递归方式进行

在你的情况下,这个也适合

 Dir[ Rails.root.join('app', 'models', '**/') ]