У 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
Если вы видите более простой способ выполнить то, что мне нужно, я все уши! :-)