我刚刚开始研究在Rails中使用更高级的模型。我经常使用的一个非常成功的模型是这样的模型,其中一个类本身是多对多关系中基类的子类,而该类访问了多对多交叉引用关系。
这样,交叉引用类可以充当基类的替代。
一个很好的示例是将导航层次结构节点(NavigationNode)交叉引用到用户角色。在交叉引用点,类(RoleNavigationNode)可以从NavigationNode继承,并且仍然对用户角色有深入的了解。
我的问题是(在上述情况下)RoleNavigationNode是否可以从NavigationNode继承并访问交叉引用表,而不是NavigationNode访问的表-当然可以使用ActiveRecord。
我尚未研究多态关联,这可能更合适。
提前致谢...,
最佳答案
在子类上尝试set_table_name
吗?
另外,请考虑在模型类中设置@abstract_class
。
最后,您需要的只是两个模型中都包含的Mixin。
无论如何,您尝试执行的操作听起来不太像ActiveRecord。您可能想发布一个更清晰的示例,说明您要实现的目标,也许我们可以提出更简单的方法。