2

私は2つのモデルを持っています:メーカーと車

車はメーカーに属しており、メーカーには多くの車があります

人が車を検索しているときは、DBに車がある(車のないメーカーを非表示にする)リストにあるメーカーのみを表示したいと思います。

メーカーにフィールド「カウント」を追加しましたが、車が追加/破棄されたときにそれを最新の状態に保つ方法がわかりませんか?

4

1 に答える 1

5

すでにカウントフィールドがあるので、その構成を車のモデルに追加するだけです。

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

これで、新しい車を追加するたびに、のcounterフィールドManufacturerがインクリメントされます。すでにデータベースがあるので、このフィールドに適切に入力する必要があります。

また、フィールドをまだ定義していない場合、Railsのデフォルトでは(だけでなく)counterという名前のフィールドが使用され、定義では、列に。という名前を付ける代わりに、としてのみ使用されます。cars_countercountercounter_cachecounter_cache => truecounter

于 2012-06-21T11:39:29.260 に答える