我们目前正在为 ROR 3.2 开发自定义 cms 引擎。在这个过程中,产生了几个类类型,我们希望成为 Rails 应用程序中的一等公民,这意味着它们应该位于应用程序的 app 文件夹及其插件下。
目前我们有以下类型:
- 数据源
- 数据类型
- 看法
我在 app 文件夹下创建了多个目录来保存这些:
- 应用程序/数据源
- 应用程序/数据类型
- 应用程序/视图
更多类型将随之而来,我有点担心应用程序文件夹会被这么多目录污染。因此,我想将它们移动到包含 cms 定义的所有类型的子目录/模块中。
所有类都应位于MyCms命名空间内,目录布局应如下所示:
- 应用程序/my_cms/data_source
- 应用程序/my_cms/data_type
- 应用程序/my_cms/视图
但是现在我在自动加载时遇到了问题,因为rails默认的自动加载会期望路径是这样的:
- 应用程序/data_source/my_cms
- 应用程序/data_type/my_cms
- 应用程序/视图/my_cms
但这样我就不会将所有对象类型分组在一个目录中。
我想要的有点类似于孤立引擎的视图分组。例如,在Devise中,所有视图都分组在 views/devise 子目录中。
知道如何在没有太多自定义实现的情况下实现这一目标吗?