Я пытаюсь использовать однонаправленное наследование для некоторых моих моделей. Базовая модель - это турнир, и я хочу расширить его, чтобы создать различные типы турниров. Например, я могу добавить SingleEliminationTournament или DoubleEliminationTournament, оба из которых наследуются от турнира. У меня есть 2 вопроса, оба они несколько связаны.Каков правильный способ проверки типа при использовании однонаправленного наследования (STI)?
1) Я хотел бы, чтобы пользователь мог создавать турниры с формой, и для этого им нужно будет выбрать один из подклассов. Есть ли способ получить все подклассы и использовать их для заполнения окна выбора или что-то в этом роде?
2) Поскольку эта информация идет в форму, было бы неплохо иметь возможность проверить ввод на тип. Чтобы сделать это, я хотел бы добавить подтверждение в класс турнира, который может проверить, чтобы убедиться, что Тип был действительным.
Очевидно, что я мог бы жестко скопировать значения в валидацию и форму, но я не хотел бы этого делать. Любая помощь будет оценена по достоинству. Благодаря!
Это определенно меньше, чем идеальное, но в конечном итоге я использовал это решение. Спасибо. – Max