Herança pai do MongoMapper
Eu estou tentando obter um resultado melhor e organizado usando herança de classe com o MongoMapper, mas tendo alguns problemas.
class Item
include MongoMapper::Document
key :name, String
end
class Picture < Item
key :url, String
end
class Video < Item
key :length, Integer
end
Quando eu executo os seguintes comandos, eles não retornam o que eu estou esperando.
>> Item.all
=> [#<Item name: "Testing", created_at: Sun, 03 Jan 2010 20:02:48 PST -08:00, updated_at: Mon, 04 Jan 2010 13:01:31 PST -08:00, _id: 4b416868010e2a04d0000002, views: 0, user_id: 4b416844010e2a04d0000001, description: "lorem?">]
>> Video.all
=> [#<Video name: "Testing", created_at: Sun, 03 Jan 2010 20:02:48 PST -08:00, updated_at: Mon, 04 Jan 2010 13:01:31 PST -08:00, _id: 4b416868010e2a04d0000002, views: 0, user_id: 4b416844010e2a04d0000001, description: "lorem?">]
>> Picture.all
=> [#<Picture name: "Testing", created_at: Sun, 03 Jan 2010 20:02:48 PST -08:00, updated_at: Mon, 04 Jan 2010 13:01:31 PST -08:00, _id: 4b416868010e2a04d0000002, views: 0, user_id: 4b416844010e2a04d0000001, description: "lorem?">]
Eles são todos o mesmo resultado, eu esperaria terItem.all
listar todos os resultados, incluindo-se,Picture
eVideo
. Mas se o item é realmente umPicture
, Eu gostaria que fosse devolvido se eu corressePicture.all
e não se eu correrVideo.all
. Você entende o que eu quero dizer?
Eu estou entendendo mal como a herança funciona aqui? Se eu sou qual é a melhor maneira de replicar esse tipo de comportamento? Estou tentando seguiristo (ponto 2) como uma diretriz de como eu quero esse trabalho. Eu suponho que ele pode correrLink.all
para encontrar todos os links, e não incluir todas as outras classes que herdamItem
. Estou errado?