Используя Mongoid (преобразователь Rubo on Rails MongoDB), нужно ли нам устанавливать тип, если Cat наследуется от Animal? - PullRequest
1 голос
/ 01 сентября 2010

то есть, если 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 Ответ

1 голос
/ 01 сентября 2010

Дополнительный атрибут _type сохраняется, чтобы при загрузке из базы данных был возвращен правильный документ.Это также верно для встроенных документов Circle, Rectangle и Shape.Поля и проверки наследуются вниз по иерархии, но не вверх.Подкласс будет содержать все поля и проверки своего родителя, но не наоборот.

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

...