A Person может иметь много Events, и каждый Event может иметь одну полиморфную запись Eventable. Как указать связь между записью Person и Eventable?
Вот модели, которые у меня есть:
class Event < ActiveRecord::Base
belongs_to :person
belongs_to :eventable, :polymorphic => true
end
class Meal < ActiveRecord::Base
has_one :event, :as => eventable
end
class Workout < ActiveRecord::Base
has_one :event, :as => eventable
end
Основной вопрос касается класса Person:
class Person < ActiveRecord::Base
has_many :events
has_many :eventables, :through => :events # is this correct???
end
Я говорю has_many :eventables, :through => :events, как я сделал выше?
Или мне нужно написать все так:
has_many :meals, :through => :events
has_many :workouts, :through => :events
Если вы видите более простой способ добиться того, что мне нужно, я все уши!: -)