我有2種型號:製造商和汽車項目計數的has_many/belongs_to的
汽車屬於製造商,製造商有很多汽車
當人正在尋找的車,我想告訴他們只有在那些製造商列表中包含汽車數據庫(隱藏沒有汽車的製造商)。
我向製造商添加了「計數」字段,但不知道在汽車被添加/銷燬時如何更好地保持它最新?
我有2種型號:製造商和汽車項目計數的has_many/belongs_to的
汽車屬於製造商,製造商有很多汽車
當人正在尋找的車,我想告訴他們只有在那些製造商列表中包含汽車數據庫(隱藏沒有汽車的製造商)。
我向製造商添加了「計數」字段,但不知道在汽車被添加/銷燬時如何更好地保持它最新?
既然你已經擁有了數場,只需添加它的配置到您的汽車型號:
class Car < ActiveRecord::Base
belongs_to :manufacturer, :counter_cache => :counter
end
現在,每當你添加一個新的車,Manufacturer
的counter
場會增加。現在您需要正確填寫該字段,因爲您已經擁有數據庫。
另外,如果您還沒有已經定義的counter
場,Rails的默認將使用命名爲cars_counter
(而不是僅僅counter
)字段,然後在counter_cache
定義你會只爲counter_cache => true
,而不是命名列如counter
。
很好,thx的答案。所有我想要手動完成已經:) – bravedick
你能描述一下你爲什麼加數來製造? – codeit
我會尋找Manufacturer.all並找到所有的地方> 0 – bravedick