我有 2 个模型:制造商和汽车
汽车属于制造商,制造商有很多汽车
当人们在搜索汽车时,我只想向他们展示列表中那些在 DB 中有汽车的制造商(隐藏没有汽车的制造商)。
我向制造商添加了字段“计数”,但不知道在添加/销毁汽车时如何更好地保持最新?
我有 2 个模型:制造商和汽车
汽车属于制造商,制造商有很多汽车
当人们在搜索汽车时,我只想向他们展示列表中那些在 DB 中有汽车的制造商(隐藏没有汽车的制造商)。
我向制造商添加了字段“计数”,但不知道在添加/销毁汽车时如何更好地保持最新?
由于您已经有了 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
.