我已经做了它在Railscast(http://railscasts.com/episodes/23-counter-cache-column)上所说的一切。
我已经完成了这些设置
-
迁移添加新的列'comments_count'到'community_topics '表,这是父表
-
我已经添加了counter_cache: true模型/评论。rb(现在就像这样belongs_to:commentable,:polymorphic => true, counter_cache: true)
我的视图中有这个
<%= community_topic.comment_threads.size %>
如你所知,我看不出它的外观有什么不同。
我怎样才能知道计数器缓存现在是否正常工作?
正如您引用的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