2

私は印象的なものにした Post モデルを持っています:

is_impressionable :counter_cache => true, :column_name => :views

月に一度、一定期間より古いインプレッションを消去することを考えていました。これはどうにかして posts テーブルのカウンター キャッシュもリセットしますか? この場合、カウンターをリセットせずに制御不能になるまで、インプレッション テーブルがどんどん大きくなるのを避けるための解決策 (カウンター キャッシュのみをインクリメントしますか?) はありますか?

ありがとう

4

1 に答える 1

0

インプレッション テーブルからインプレッションを削除することはできません。これは、キャッシュを更新する必要があるたびに、印象派が実際にすべてのインプレッションを再カウントするためです (指定した固有のオプションによってフィルタリングされますis_impressionable)。

パッチを適用するか、自分で counter_cache を管理することを除いて、あなたが望むものを達成するために宝石で何ができるかわかりません。

于 2014-08-22T19:41:35.437 に答える