Наследование таблиц Ruby Datamapper с ассоциациями

Я начал учитьсяDataMapper и что мне понравилось в этом, так это то, что я могу писать свои модели с настоящим наследством.

Теперь мне интересно, возможно ли быть более продвинутым в этом:

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

Этот код не может создать:title колонка дляTalk и, очевидно, столбец дискриминатора здесь не имеет большого значения, поскольку из представления базы данных должны быть отдельные таблицы для обоихTalk а такжеMeeting.

Итак, в конце концов, я хочуTalk а такжеMeeting иметь те же свойства, что определены вEvent но с возможными дополнительными свойствами и с отношением 0..1: n (Совещание может иметь несколько бесед, но есть беседы без встречи.) Есть ли способ сделать это, не повторяя определения столбцов и / или не отказываясь от наследования?

редактировать

Чтобы привести другой пример: часть, которая мне нравится в наследовании, это то, что общееEvents могут быть запрошены отдельно. Итак, когда я хочу знать, есть ли что-то в определенном:begin дата, мне не нужно смотреть в две или более таблиц, но могу просто запроситьEvent Таблица. В некотором смысле, следующая структура может соответствовать моим потребностям.

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

Однако, чтобы использовать это, мне нужно было бы вручную создатьEvent каждый раз я хочу создать или отредактироватьTalk, То есть я не могу сделатьtalk.begin или жеTalk.create(:begin => Time.now), Есть ли способ обойти это без исправления всех функций и слияния свойств? Я не хочу напоминать о базовой структуре при использовании модели.

Ответы на вопрос(1)

Ваш ответ на вопрос