Mongoid:动态键控静态定义的嵌入类,包含验证和回调

时间:2014-07-29 20:38:02

标签: ruby mongodb mongoid

我对Mongoid和Ruby非常熟悉,并且已经将Mongoid用于生产系统中的几个大型应用程序。但是,我发现自己对这个问题感到有点难过。

标题可能有点让人头疼,让我举个例子JSON:

{
  "could_be_anything": {
    "key": "something",
    "value": "something else"
  },
  "some_other_runtime_value": {
    "key": "another",
    "value": "another something"
  },
  // ... ect
}

所以对象的关键可以是任何东西,但是里面的数据是结构化的,需要验证,如键和值的存在。

我能想到的唯一方法是获取代表嵌入对象的类定义的代码块,并使用代码块动态创建一个新类和class_eval。我想我可以使用after_initialize和after_find查看所有属性并以这种方式将事物连接在一起。

有没有更简单的方法?

0 个答案:

没有答案