MongoMapper和自定义类型属性

时间:2010-11-22 18:43:45

标签: ruby-on-rails mongodb custom-attributes mongomapper

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

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

{
  ...
  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"
    }
  }
}

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

提前致谢!

1 个答案:

答案 0 :(得分:0)

您可以创建自定义类型,但如果您有数组,为什么不使用嵌入对象?

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

幻灯片47-49。