0

Railscast( http://railscasts.com/episodes/23-counter-cache-column )に記載されていることはすべて実行しました。

私はそれらの設定を行いました

  • 親テーブルである「community_topics」テーブルに新しい列「comments_count」を追加する移行。

  • 私はcounter_cache: trueを models/comment.rb に追加しました (今は、この belongs_to :commentable, :polymorphic => true, counter_cache: true のようになっています)

そして、私はこれを私の見解で持っています

<%= community_topic.comment_threads.size %>

ご存じのとおり、見た目に違いは見られません。
現在、カウンター キャッシュが正常に機能しているかどうかを確認するにはどうすればよいですか?

4

1 に答える 1

2

参照するRailsCastにあるように、ログを介して実行されているSQLをチェックして確認する必要があります。カウンター キャッシュの前に、次のCOUNTような SQL クエリを取得する必要があります。

SELECT count(*) AS count_all FROM "comment_threads" WHERE ("comment_threads".commentable_id = 61)

表示されるべきではなく、CommunityTopic の読み込みのみが表示されます。

SELECT * FROM "comment_threads" WHERE id = 61
于 2013-01-05T02:52:31.907 に答える