我想爲我的一些模型使用單表繼承。基本模型是一個錦標賽,我希望擴展它來創建不同類型的錦標賽。例如,我可能想添加一個SingleEliminationTournament或者DoubleEliminationTournament,這兩個都可以從Tournament繼承。我有兩個問題,兩者都有些相關。使用單表繼承(STI)時驗證類型的正確方法是什麼?
1)我希望用戶能夠使用表單創建錦標賽,要做到這一點,他們需要選擇其中一個子類。有沒有辦法讓所有的子類,並使用它們填充選擇框或類似的東西?
2)由於這些信息將進入表單,因此能夠驗證輸入類型是非常好的。爲了做到這一點,我想在Tournament類中添加一個可以檢查確認Type是否有效的驗證。
很明顯,我可以將這些值硬編碼到驗證和表單中,但我不想這樣做。任何幫助,將不勝感激。謝謝!
這絕對不是理想的,但我最終使用這種解決方案。謝謝。 – Max 2012-02-09 19:39:48