我目前正在使用一个Rails 3应用程序,它似乎可能需要为几个模型使用Class Table Inheritance.
这是一个简单的例子.
我有一个名为Person的类,其名称,电子邮件,密码等通用属性,这些属性适用于所有类型的用户,并用于认证.
人(或两类人)有两个子类,司机和乘客.这两个子类共享Person的通用属性,但是具有对于它们是唯一的特定附加属性. (例如,司机可以拥有许多车辆和许可证,但乘客不会)
如何在这种情况下实施CTI?我一直在看这里提供的例子:
http://rhnh.net/2010/08/15/class-table-inheritance-and-eager-loading
但是它并不推测如何从Driver或Passenger对象访问Person的常见属性,我有点困惑.
特别是,我想知道的是:
如果我正在更新驱动程序的属性,我如何轻松访问和更新父员工表上的相关属性?我必须钩住一个after_save回调并分离哪个属性更新到哪里?还是有更好的方法呢?