我使用的是印象派宝石,效果很好。

我在user / show.html.erb视图中使用它来计算一个人的个人资料的所有印象(user.rb是可印象的)

<%= @user.impressionist_count %>

我决定由用户细分每个微博,并决定对其进行计数(micropost.rb令人印象深刻)

micropost/show.html.erb -我正在使用此代码来计算查看特定帖子的次数

<%= @micropost.impressionist_count %>

我试图总结属于同一用户的所有@ micropost.impressionist_count并将其添加到user / show.html.erb。 我怎样才能做到这一点?

所以用数学术语来说,这就是我想要做的

总数= user.impressionist_count + sum(micropost.impressionist_count)s

===============>>#1 票数:1 已采纳

您尚未指定与此gem一起使用的数据库。 它与RDBMS数据库以及MongoDB兼容。 根据该选择,求和可能会有所不同。

在RDBMS支持的系统中,您可以简单地通过使用JOIN(AR说法中的:joins)为给定的用户加载所有相关的微博 掌握了所有相关的微博之后,您只需执行以下操作:

@user.impressionist_count + @user.microposts.sum(&:impressionist_count)

Rails可以为您提供Enumerable#sumhttp://api.rubyonrails.org/classes/Enumerable.html#method-i-sum )。

在Mongo方面,我所能看到的唯一区别是, 除非将微博嵌入到每个User文档中, 否则您将要对数据库进行的请求数量。

希望这可以帮助。

  ask by nextstep translate from so

未解决问题?本站智能推荐: