2010-11-22 76 views
0

我想创建一个具有属性数组的MongoMapper模型。这个数组应该包含所有类型的信息(整数,浮点数,URL,枚举,日期,与其他文档的关系),这取决于用户的愿望。MongoMapper和自定义类型属性

我的问题是如何实现属性数组,如何实现属性的自定义数据类型。我想这个序列化文档应该看起来类似于:

{ 
    ... 
    attributes: { 
    age: { 
     name: "Age", 
     type: "Integer", 
     value: 12 
    }, 
    height: { 
     name: "Height", 
     type: "Float", 
     value: 1.86 
    }, 
    mother: { 
     name: "Mother", 
     type: "Relation\Person", 
     value: "\people\sara" 
    } 
    } 
} 

任何想法如何解决这个问题?我的第一个工作是创建一个基类,就像工厂必须序列化和反序列化这些属性,但是从我设法编写的代码中,没有任何工作正常。

在此先感谢!

回答

0

你可以做一个自定义类型,但是如果你有一个数组,为什么不使用一个嵌入对象呢?

看到这个: http://speakerdeck.com/u/jnunemaker/p/mongomapper-mapping-ruby-to-and-from-mongo

幻灯片47-49。

+0

我一直在试图使用嵌入式文档,但我想我不是很擅长解释:)我已经改变了我的模型,我想一切都开始工作,完美。谢谢 :) – 2010-11-22 21:42:22