Ruby on rails 3 RoR-如何计数和;显示评论

Ruby on rails 3 RoR-如何计数和;显示评论,ruby-on-rails-3,Ruby On Rails 3,我希望统计一篇文章下的评论数量,并将其显示在该文章旁边的索引页上,就像这里红色圆圈中的示例一样。有没有关于我该怎么做的建议 这张图片是我正在尝试做的一个例子,它不是我的网站 这听起来像是Rails.cache的一个很好的候选者。每次创建新注释时,只需使用post id增加缓存计数器 如果缓存项不存在,请执行一个简单的文章.comments.count(当然取决于您的域模型)查询并重新缓存它。将其存储在缓存中是一个想法,是的 但将其存储在计数器缓存列中可能是一个更好的主意。这样,即使服务器以某种方

我希望统计一篇文章下的评论数量,并将其显示在该文章旁边的索引页上,就像这里红色圆圈中的示例一样。有没有关于我该怎么做的建议

这张图片是我正在尝试做的一个例子,它不是我的网站


这听起来像是
Rails.cache的一个很好的候选者。每次创建新注释时,只需使用post id增加缓存计数器


如果缓存项不存在,请执行一个简单的
文章.comments.count
(当然取决于您的域模型)查询并重新缓存它。

将其存储在缓存中是一个想法,是的


但将其存储在
计数器缓存
列中可能是一个更好的主意。这样,即使服务器以某种方式重新启动,也不会丢失缓存的值。请参阅第4.1.2.4节。

然后,当服务器首次重新启动或缓存被清除时,您的计数将丢失。这取决于您。您可以在服务器重启、RTFM之间持久化。?缓存是用来存储计算或生成成本高昂的数据的地方。它不是您的主要数据存储。另外,自从我发表我的评论后,你已经更新了你的答案。是的,持续改进是这个网站的目的:)你是对的,这个数据(评论的数量)已经可用(你只需要计算它)。当你可以缓存它的时候,没有必要每次都这么做。够了。你发一些好的旧代码怎么样?Rails代码。代码,告诉我们您的模型是什么,控制器中有什么。最有可能的答案是article.comments.size:)这不是我的网站,它只是一个例子来解释我正在尝试做什么——“一张画画1000…”等等!如果那幅画能画一千个,那么一些代码就能画一百万个。告诉我更多??我从哪里开始谈你的想法?这是一种稳定的方法吗?