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,PictureeVideo. 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?

questionAnswers(1)

yourAnswerToTheQuestion