使用Mongoid(Ruby on Rails的MongoDB映射器),如果Cat继承自Animal,我们是否需要设置类型?

时间:2010-09-01 00:04:03

标签: mongodb mongoid

即,如果app/models/animal.rb

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

然后你需要在Animal中设置某种“类型”来记住它是一只猫,还是它是自动的?

1 个答案:

答案 0 :(得分:1)

  

另一个属性_type是   存储以确保何时   从数据库加载正确   文件被退回。这也有   对于嵌入式文档,则为true   圆形,矩形和形状。字段   和验证是继承下来的   层层叠叠,但不是。子类将   包含其所有父级字段和   验证,但不是反过来。

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