0

任意の構造に基づくランタイム アドホック フィールドを持つ Mongoid モデルを作成したいと思います。

検証、カスタム型、およびモデルへの埋め込みを使用する必要があるため、動的フィールドを使用してもうまくいきません。

ingafter_initializeによるモデルのブロックでの新しいフィールドと検証の定義は機能します。class_evalただし、 により、フィールドと検証がモデルに蓄積されclass_evalます。

フィールドがクラス レベルではなくインスタンス レベルで定義されていれば、それを機能させることができると思います。

この問題に関するいくつかの指針を得るのが大好きです。

4

1 に答える 1

0

私見ですが、ActiveModel 検証の仕組みでは、これを達成することはできません。ただし、できることは、基本クラスのアドホック サブクラスを定義し、そこで検証ロジックを定義することです。とにかく、全体がかなりハッキーに見えます。問題のドメインについて説明しますか?

于 2012-10-17T23:18:04.103 に答える