0

我已经完成了 Railscast 上所说的一切(http://railscasts.com/episodes/23-counter-cache-column)。

我已经完成了这些设置

  • 迁移以将新列“comments_count”添加到“community_topics”表,该表是父表。

  • 我在 models/comment.rb 中添加了counter_cache: true(现在就像这样 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 回答