2

我有 2 个模型:制造商和汽车

汽车属于制造商,制造商有很多汽车

当人们在搜索汽车时,我只想向他们展示列表中那些在 DB 中有汽车的制造商(隐藏没有汽车的制造商)。

我向制造商添加了字段“计数”,但不知道在添加/销毁汽车时如何更好地保持最新?

4

1 回答 1

5

由于您已经有了 count 字段,只需将其配置添加到您的汽车模型中:

class Car < ActiveRecord::Base
  belongs_to :manufacturer, :counter_cache => :counter
end

现在,每当您添加新车时,counter字段 inManufacturer都会增加。您现在需要正确填写此字段,因为您已经有一个数据库。

此外,如果您尚未定义该counter字段,Rails 默认将使用一个名为cars_counter(而不是仅counter)的字段,然后在counter_cache定义时您将仅使用它counter_cache => true而不是将列命名为counter.

于 2012-06-21T11:39:29.260 回答