代码之家  ›  专栏  ›  技术社区  ›  railsmongo

使用MongoMapper继承:搜索父类

  •  3
  • railsmongo  · 技术社区  · 15 年前

    使用MongoMapper/Rails继承时,将类名保存在字段中是否有意义?

    class Item
      include MongoMapper::Document
      timestamps!
      key :class, String # does this actually make sense?
      key :title, String
    end
    
    class Post < Item
      key :body1, String
    end
    
    class Page < Item
      key :body2, String  
    end
    

    如果执行项目搜索,MongoMapper将返回项目对象。 目前还不清楚它们是什么样的物体。如果我们想显示 图标或类似的东西来区分不同的项目, 可以通过将类名保存在数据库中来完成。这有道理吗? 还是有更好的方法?

    1 回复  |  直到 15 年前
        1
  •  1
  •   Community Dunja Lalic    7 年前

    您可能想看看这个stackoverflow线程: MongoMapper Parent Inheritance

    实际上,您使用“_type”作为键名,MongoMapper会自动将类名添加到条目中:

    key :_type, String