私はRoRでCMDBのようなアプリケーションに取り組んでおり、「サーバー」、「ファイアウォール」、「ルーター」などのサブモデルが継承され、独自の特定のフィールドを追加するルート「ノード」モデルを持っています。
各サブモデルには特定のフィールドがあるため、スキーマレス設計のために MongoDB と Mongoid を使用します。
何百ものフィールドがあるため、ビューの生成にも使用される構成ファイルに基づいて、サブモデルを動的に生成したいと考えています。これは、ビューとモデルを同期し、エラーを回避するのに役立ちます。
データをやみくもに永続化したくないので、Mongoidの「動的属性」を使用したくないので、モデルに基づいてある種の動的スキーマを適用する必要があります。
サブモデルのフィールド、タイプ、検証などを含む、YAML の構成ファイルに基づく特定のフィールドを使用して、ルート モデルを動的に拡張する方法はありますか?
この構成ファイルを使用してビューを生成することは大したことではないと思いますが、モデルでそれを行う方法がわかりません。
たぶん、すでにそれをしているGemがありますか?(質問する前に検索しました) はいの場合、Mongoid と互換性がありますか? (この種の動的モデルはスキーマレス NoSQL データベースでのみ可能であるため、そうなることを願っています)。