【发布时间】:2016-03-16 14:20:02
【问题描述】:
我读到了:
如果直接在app/下添加目录
什么都不做。此目录中的所有文件都在生产中预先加载,并且 开发中默认懒加载。
如果你在 app/something/ 下添加一个目录
(例如 app/models/concerns/、app/models/products/)
问:我想在我的新目录中命名模块和类吗?为了 app/models/products/ 中的示例,您需要将类包装在 模块产品。
如果答案是肯定的,什么也不做。它会起作用的。
如果答案是否定的,请添加 config.autoload_paths += %W( #{config.root}/app/models/products)
我想知道 Rails 是如何做到这一点的。怎么样:
- 仅当该文件的内容包装在以该文件夹命名的模块(folder_nest 模块)中时,才将该文件加载到应用文件夹中的文件夹(名为folder_nest)中。这是怎么发生的?
必须有一些逻辑说:“如果应用程序内部的东西是文件,则立即加载它。如果是文件夹,则仅在包装在以所述文件夹命名的模块中时才加载所述文件夹的内容。”
有人知道这个逻辑在哪里吗?如何阅读 Rails 源代码?
另外,配置/初始化程序是否急切加载?这个逻辑在哪里?
【问题讨论】:
标签: ruby-on-rails-3