我用的是印象派的宝石,效果很好。
我在我的user/show.html.erb视图中使用它来统计一个人的个人资料的所有印象(user.rb是可印象的)
<%= @user.impressionist_count %>我决定把每个用户的微博都拆分出来,并决定也计算一下(micropost.rb是敏感的)。
In micropost/show.html.erb -我使用这个代码来计算一个特定的帖子被浏览了多少次
<%= @micropost.impressionist_count %>我尝试汇总属于同一用户的所有@micropost.impressionist_count,并将其添加到用户/show.html.erb中。我该怎么做呢?
所以用数学术语来说,这就是我想要做的
总数= user.impressionist_count + sum(micropost.impressionist_count)s
发布于 2013-04-18 10:17:54
您尚未指定与此gem一起使用的数据库。它既与关系型数据库兼容,也与MongoDB兼容。根据选择,求和可能会执行不同的操作。
在一个由关系型数据库支持的系统中,您可以通过使用一个连接(在AR术语中是:),简单地为给定的用户立即加载所有相关的joins microposts。获取了所有相关的微型帖子后,您可以简单地执行以下操作:
@user.impressionist_count + @user.microposts.sum(&:impressionist_count)Rails为您提供了Enumerable#sum (http://api.rubyonrails.org/classes/Enumerable.html#method-i-sum),您可以使用它来实现此目的。
对于Mongo而言,我能看到的唯一不同之处在于,除非您已经将微帖子嵌入到每个用户文档中,否则您将向数据库发出的请求量会有所不同。
希望这能有所帮助。
https://stackoverflow.com/questions/16072202
复制相似问题