Я согласен, что ни одна из этих проверок не требуется.
Просто для уточнения, валидации обрабатывают вводимые человеком данные из формы. Они существуют для решения одной конкретной проблемы c, и это гарантирует, что вводимые пользователем данные соответствуют приемлемому формату.
- нет необходимости проверять наличие любого столбца в базе данных, если эта таблица создана вашим приложением Rails. Миграции помещают это туда, и если люди отбрасывают столбцы из вашей базы данных, у вас есть большие проблемы, чем проверка пользовательского ввода.
- нет необходимости проверять наличие поля типа, если оно пустое, оно будет автоматически населенный экземпляром класса. Например, Parent.new заполнит его «Родителем»
- . Может быть какое-то значение для проверки правильности включения, но было бы очень редко, чтобы можно было ввести неверный тип. Если ваш пользователь должен ввести имя класса в форму, в игре есть очень сомнительный дизайн формы. Вместо этого воспользуйтесь одним из этих двух подходов:
- Выбор, содержащий допустимые типы.
- Отдельные контроллеры для каждого дочернего типа. В конце концов, если они значительно отличаются, вы, вероятно, захотите, чтобы их формы, страницы показа и страницы указателя выглядели по-разному. И если они существенно не отличаются, вы, вероятно, не хотите использовать наследование одной таблицы.
(При любом из этих подходов нет необходимости проверять столбец типа)
Надеюсь, это поможет:)