2010-09-01 48 views
1

也就是说,如果app/models/animal.rb使用Mongoid(Ruby on Rails的MongoDB映射器),如果Cat继承了Animal,我们是否需要设置一个类型?

class Animal 
    include Mongoid::Document 
    field :name, :type => String 
    field :birthday, :type => Time 
end 

,然后在app/models/cat.rb

class Cat < Animal 
    include Mongoid::Document 
    field :nail_length, :type => Float 
end 

那么你需要在动物设置某种“类型”记住它是一只猫,或者是它自动?

+0

强烈建议通过mongoid文档阅读,他们都写得很好,很容易理解 – 2010-09-01 00:14:05

回答

1

附加属性_type存储为了 以确保当从返回正确的 文档数据库加载 。这也对 适用于嵌入文档 Circle,Rectangle和Shape。字段 和验证是沿着 阶层继承的,但不起来。子类 包含其父项的所有字段和 验证,但不反之亦然。

http://mongoid.org/docs/inheritance/

相关问题