我有一个内容管理系统应用程序,它使用多态树表作为其排列的核心。我遇到了一个问题,一旦树变得很大,并且因为我们有很多不同的模块(大约 25 个),只做 :include => :instance 并不能减少芥末。Instance 是我们多态关系的名称。
有趣的是,在大多数情况下,当我想要这些项目的大列表时,我真正想要的只是关联表中的名称(例如,出于索引栏的目的),其余的都在中央表中。所以我想我可能应该为中央表中的名称实现某种列缓存。(就像 rails 已经做的计数器缓存一样)。
我只是想知道是否存在插件来管理这个?
如果没有,我只是要在中央表中添加一个“名称”列,因为所有多态模型都继承了一个超类,所以只需添加一个回调,在创建或更新项目时将名称推送到中央表。然后我会先进行一次大迁移来填充它?
该设计有任何缺陷吗?
我想更灵活的列可以是某种序列化缓存,如果需要,我可以稍后存储其他东西?呸!:D