В настоящее время я занимаюсь разработкой приложения с использованием Rails 3.2 и столкнулся с небольшой проблемой.Я знаю, что об этом спрашивали сотни раз, но я не мог найти ответ, который решил бы это.Вот похожий ER: http://i.stack.imgur.com/x5V0G.png
Довольно очевидно, что я пытаюсь сделать.Я надеюсь, что ассоциация будет выглядеть следующим образом:
Supplier.first.theatres.first.events.first.orders
TourEvent.first.orders
Tour.first.orders
Теперь было бы неплохо иметь возможность определять мои модели следующим образом:
class Event < ActiveRecord::Base
has_many :orders
belongs_to :eventable, polymorphic: true
# id, eventable_id, eventable_type, title, date, price
end
class TourEvent < Event
belongs_to :tour
# id, tour_id, rendezvous, guide_name
end
class Tour < ActiveRecord::Base
has_many :events, class_name: 'TourEvent'
# id, name, venue, duration
end
Но я понимаю, что этозарезервировано для "STI", а не "MTI".Любые идеи, как заставить мое решение работать без необходимости сложных миксины или плагины?Или это просто невозможно?