递归包含所有模型子目录
如何递归加载 models 和 lib 目录中的所有目录?在 application.rb 中,我有以下几行:
config.autoload_paths += Dir[Rails.root.join('app', 'models', '{**}')]
config.autoload_paths += Dir[Rails.root.join('lib', '{**}')]
但它们似乎只添加了一层模型和 lib 子目录。
谢谢
How do you load all directories recursively in the models and lib directories? In application.rb, I have the lines:
config.autoload_paths += Dir[Rails.root.join('app', 'models', '{**}')]
config.autoload_paths += Dir[Rails.root.join('lib', '{**}')]
but they only seem to add one level of model and lib subdirectories.
Thanks
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
这应该会有所帮助
享受! (:
更新:
很好的问题,上面发布的例子我只是参考了我最近的项目。
经过一些测试,我有了更好的理解,这很棒。
主要的区别当然不是 File 的 join 方法,而是 config.root /Rails.root
在“**”之后尾随“/”是有意义的。
第一个在通配时仅匹配目录。
第二个对话以递归方式进行。
对于你的情况,这也可能是合适的
this should be helpful
enjoy! (:
Update:
Excellent question, posting example above i have simply referred to my recent project.
After making some tests, better understanding comes to me and it is great.
The main difference is of course neither in join method of File not config.root / Rails.root
Trailing '/' after '**' makes sense.
First one talks to match only directories when globbing.
Second one talks do it recursively.
In your case this one could be also appropriate