忍受我一秒鐘...返回涉及STI和子類親子關係的記錄結果
我有兩個模型:HorseRaceEvent和Wagerable。
Wagerable使用STI和兩個子類:Trifecta和Wager。
Trifecta和下注之間有親子關係。對於一個Trifecta,有3個與它相關的投注。爲了使Wager和它的父節點Trifecta之間建立關聯,我使用了引用Trifecta記錄的Wager記錄的parent_id列。如果賭注不是Trifecta的一部分,那麼parent_id爲空。 (PARENT_ID的三連勝總是空。)
所以:
- 三連勝有很多的投注
- 賭注屬於三連勝
現在進入HorseRaceEvent。
- HorseRaceEvent有很多投注。
- 賭注屬於HorseRaceEvent。
注意:請注意,與HorseRaceEvent的關係是Wager,而不是Wagerable或Trifecta。 (對於Trifecta記錄,horse_race_event_id始終爲空。)
HorseRaceEvent具有一個名爲'status'的屬性,可以具有三種狀態:Not Started,Started,Final。
Wagerable有一個名爲「結果」有一個三值的屬性:空,W,L
這裏的挑戰:
對於三連勝的模式,我想實現一個named_scope或靜態方法返回所有的Trifectas,其中(1)結果爲空,(2)其子游戲關聯的HorseRaceEvent的每一個都是'Final'。
HorseRaceEvent has_one Wager? – fl00r 2011-04-22 18:43:51