我想为我的一些模型使用单表继承。基本模型是一个锦标赛,我希望扩展它来创建不同类型的锦标赛。例如,我可能想添加一个SingleEliminationTournament或者DoubleEliminationTournament,这两个都可以从Tournament继承。我有两个问题,两者都有些相关。使用单表继承(STI)时验证类型的正确方法是什么?
1)我希望用户能够使用表单创建锦标赛,要做到这一点,他们需要选择其中一个子类。有没有办法让所有的子类,并使用它们填充选择框或类似的东西?
2)由于这些信息将进入表单,因此能够验证输入类型是非常好的。为了做到这一点,我想在Tournament类中添加一个可以检查确认Type是否有效的验证。
很明显,我可以将这些值硬编码到验证和表单中,但我不想这样做。任何帮助,将不胜感激。谢谢!
这绝对不是理想的,但我最终使用这种解决方案。谢谢。 – Max 2012-02-09 19:39:48