4

我正在 RoR 中开发一个类似 CMDB 的应用程序,它有一个根“节点”模型,其子模型如“服务器”、“防火墙”、“路由器”……将继承,添加自己的特定字段。

因为每个子模型都有特定的字段,所以我将使用 MongoDB 和 Mongoid 进行无模式设计。

因为我将有数百个字段,所以我想根据配置文件动态生成子模型,该配置文件也将用于生成我的视图。这将有助于同步视图和模型并避免一些错误。

我不想使用 Mongoid “动态属性”,因为我不希望任何数据被盲目地持久化,所以我需要强制执行某种基于模型的动态模式。

有没有办法根据 YAML 中的配置文件使用特定字段动态增强我的根模型,其中包含子模型字段、类型、验证等?

我不认为使用这个配置文件来生成我的视图会有什么大不了的,但我不知道如何为我的模型做到这一点。

也许已经有 Gem 这样做了?(我在问之前已经搜索过)如果是,它是否与 Mongoid 兼容?(我希望是这样,因为这种动态模型只有在无模式 NoSQL 数据库中才有可能)。

4

0 回答 0