Herança da tabela Ruby Datamapper com associações

Comecei a aprenderDatamapper e o que eu gostei foi que eu posso escrever meus modelos com herança real.

Agora eu me pergunto, se é possível ser mais avançado sobre isso:

class Event
  include DataMapper::Resource
  property :id, Serial
  property :begin, DateTime
  property :type, Discriminator
end

class Talk<Event
  property :title, String
  belongs_to :meeting
end

class Meeting<Event
  has n, :talks
end

Esse código não consegue criar o:title coluna para oTalk e obviamente, a coluna discriminadora é de pouco valor aqui, porque a partir de uma visualização de banco de dados, deve haver tabelas separadas para ambosTalk eMeeting.

Então, no final, eu queroTalk eMeeting para compartilhar as mesmas propriedades definidas emEvent mas com possíveis propriedades adicionais e com uma relação 0..1: n (Uma reunião pode ter várias palestras, mas há conversas sem uma reunião.) Existe uma maneira de realizar isso sem repetir as definições da coluna e / ou abandonar a herança?

Editar

Para dar outro exemplo: a parte que eu gosto sobre a herança é aquela parte geralEvents pode ser consultado separadamente. Então, quando eu quero saber, se há algo em um certo:begin data, eu não preciso de olhar em duas ou mais tabelas, mas poderia apenas consultar oEvent mesa. De certa forma, a estrutura a seguir poderia atender às minhas necessidades.

class Event
  include DataMapper::Resource
  property :id, Serial
  property :begin, DateTime
end

class Talk
  include DataMapper::Resource
  property :id, Serial
  property :title, String
  belongs_to :event
  belongs_to :meeting
end

class Meeting
  include DataMapper::Resource
  property :id, Serial
  belongs_to :event
  has n, :talks
end

No entanto, para usar isso, eu precisaria criar manualmente umEvent toda vez, eu quero criar ou editar umTalk. Isto é, eu não posso fazertalk.begin ouTalk.create(:begin => Time.now). Existe uma maneira de contornar isso sem corrigir todas as funções e mesclar as propriedades? Não quero ser lembrado da estrutura subjacente ao usar o modelo.

questionAnswers(1)

yourAnswerToTheQuestion