如何在模型和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/**/"]
请享用! (:
更新:
优秀的问题,上面的例子我刚刚提到了我最近的项目.
做了一些测试后,更好地了解了我,这是伟大的.
主要区别当然不是File的config.root / Rails.root的join方法
“**”后跟’/’有意义.
第一个人在谈话时只会在目录中匹配.
第二次谈话是递归的.
在你的情况下,这也可能是适当的
Dir[ Rails.root.join('app','**/') ]