如何检查计数器缓存是否正常工作?

时间:2013-01-05 02:47:07

标签: ruby-on-rails ruby-on-rails-3 counter-cache

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

我已完成这些设置

  • 迁移将新列'comments_count'添加到'community_topics'表,即父表。

  • 我已经将 counter_cache:true 添加到models / comment.rb(现在就像这样 belongs_to:commentable,:polymorphic =&gt; true,counter_cache:true < / strong>)

我在我看来有这个

  

&lt;%= community_topic.comment_threads.size%&gt;

如你所知,我看不出它的外观有什么不同。
我怎么知道柜台缓存现在是否正常工作?

1 个答案:

答案 0 :(得分:2)

正如您在RailsCast中所说,您应该通过检查通过日志运行的SQL来进行验证。在计数器缓存之前,您应该得到类似这样的SQL COUNT查询:

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

之后你不应该看到一个,而只看到CommunityTopic加载:

SELECT * FROM "comment_threads" WHERE id = 61