私は2つのモデルを持っています:メーカーと車
車はメーカーに属しており、メーカーには多くの車があります
人が車を検索しているときは、DBに車がある(車のないメーカーを非表示にする)リストにあるメーカーのみを表示したいと思います。
メーカーにフィールド「カウント」を追加しましたが、車が追加/破棄されたときにそれを最新の状態に保つ方法がわかりませんか?
私は2つのモデルを持っています:メーカーと車
車はメーカーに属しており、メーカーには多くの車があります
人が車を検索しているときは、DBに車がある(車のないメーカーを非表示にする)リストにあるメーカーのみを表示したいと思います。
メーカーにフィールド「カウント」を追加しましたが、車が追加/破棄されたときにそれを最新の状態に保つ方法がわかりませんか?
すでにカウントフィールドがあるので、その構成を車のモデルに追加するだけです。
class Car < ActiveRecord::Base
belongs_to :manufacturer, :counter_cache => :counter
end
これで、新しい車を追加するたびに、のcounter
フィールドManufacturer
がインクリメントされます。すでにデータベースがあるので、このフィールドに適切に入力する必要があります。
また、フィールドをまだ定義していない場合、Railsのデフォルトでは(だけでなく)counter
という名前のフィールドが使用され、定義では、列に。という名前を付ける代わりに、としてのみ使用されます。cars_counter
counter
counter_cache
counter_cache => true
counter