2
我目前正在開發一個使用Rails 3.2的應用程序,並且遇到了一些問題。我知道這已經被問過幾百次了,但我找不到解決它的答案。這裏是一個類似的ER:http://i.stack.imgur.com/x5V0G.pngRails多表繼承和多態關聯
相當明顯,我想要做的。我希望爲協會讀取類似如下:
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「。任何想法如何讓我的解決方案工作,而不需要複雜的混合或插件?或者它是不可能的?
對不起 - 我不認爲你明白的問題。我已經做了一些進一步的閱讀,我相信我是正確的,說現在不可能在Rails 3.2.1(還!)中原生地執行多表繼承。將是一個很好的補充。 – ollym 2012-02-29 15:44:35
正如我在圖片http://i.stack.imgur.com/x5V0G.png中所看到的,您希望存儲在DB供應商,訂單和活動中。活動屬於機構(如劇院或俱樂部)。爲什麼你需要額外的表格,例如theather_events或club_events?爲什麼你需要每個機構的桌子? – ryaz 2012-02-29 16:44:39
每個「機構」存儲不同的信息。區分這一點對我來說很重要。 – ollym 2012-02-29 17:54:52