我刚刚开始研究在Rails中使用更高级的模型。我经常使用的一个非常成功的模型是这样的模型,其中一个类本身是多对多关系中基类的子类,而该类访问了多对多交叉引用关系。

这样,交叉引用类可以充当基类的替代。

一个很好的示例是将导航层次结构节点(NavigationNode)交叉引用到用户角色。在交叉引用点,类(RoleNavigationNode)可以从NavigationNode继承,并且仍然对用户角色有深入的了解。

我的问题是(在上述情况下)RoleNavigationNode是否可以从NavigationNode继承并访问交叉引用表,而不是NavigationNode访问的表-当然可以使用ActiveRecord。

我尚未研究多态关联,这可能更合适。

提前致谢...,

最佳答案

在子类上尝试set_table_name吗?

另外,请考虑在模型类中设置@abstract_class

最后,您需要的只是两个模型中都包含的Mixin。

无论如何,您尝试执行的操作听起来不太像ActiveRecord。您可能想发布一个更清晰的示例,说明您要实现的目标,也许我们可以提出更简单的方法。

09-18 21:07