【发布时间】:2013-12-04 23:00:41
【问题描述】:
我有一个 ActiveRecord 模型(我将称为 owner),它实际上是另一种模型的容器(我将称为 posession)通过关联存储在has_many 中。实际上,它的几乎所有属性都基于其许多拥有的累积数据。
例如,它需要一个开始和结束年份,这将基于其所有权的最早和最近年份。它还需要有一个 tags 关联,该关联由来自其所有 posessions 的所有 tags 组成。所以实际上所有 owner 都是来自其所有 posessions 的数据的枚举。
我应该如何处理?我需要 owners 可以使用 *pg_search* 进行搜索,因此我不能简单地使用虚拟属性作为访问器来枚举 posessions 的属性,这将非常昂贵。
我是否应该让 owner 在保存 posession 时重新计算其属性,以便每次更改时只重新计算一次,而不是每次需要时重新计算?
我不知道如何处理这个问题,所以任何建议都将不胜感激。
【问题讨论】:
-
你看过使用联接吗?
-
@HeliosdeGuerra 请您详细说明一下?
标签: ruby-on-rails ruby ruby-on-rails-3 activerecord associations