В настоящее время я работаю над приложением Rails 3, которое выглядит так, как будто, возможно, потребуется использовать Class Table Inheritance для нескольких моделей.
Упрощенный пример того, что происходит, это.
У меня есть класс под названием Person с общими атрибутами, такими как имя, адрес электронной почты, пароль, которые являются общими для всех типов людей в приложении и используются для аутентификации.
Есть два подкласса для Лица (или двух типов людей...), Драйвера и Пассажира. Оба этих подкласса разделяют общие атрибуты Person, но затем имеют специальные дополнительные атрибуты, которые являются уникальными для себя. (например, водитель может иметь много транспортных средств и лицензий, но пассажир не будет)
Как мне реализовать CTI для такой ситуации? Я смотрю пример, приведенный здесь:
http://rhnh.net/2010/08/15/class-table-inheritance-and-eager-loading
Но он не размышляет о том, как получить доступ к общим атрибутам Person из объекта Driver или Passenger, и я немного смущен этим.
В частности, я хотел бы знать:
Если я обновляю атрибуты драйвера, как я могу легко получить доступ и обновить соответствующие атрибуты в таблице родительских людей? Должен ли я подключаться к обратному вызову after_save и выделять, какое обновление атрибутов происходит там? Или есть лучший способ приблизиться к этому?