-1

我有一个模型snippets,用户可以在其中发布片段。他们发布的片段可以使用acts_as_votablegem 进行投票。这是完美的工作,当用户投票时,片段的投票计数会增加一。

虽然,我想知道有没有办法获得他们发布的一个用户的片段的总投票价值?

因此,如果用户发布了 4 个片段,每个片段的值为 2 票,那么我试图仅获得他们片段的总值 - 即 8。

此代码用于获取单个片段的投票:

<%= @snippet.weighted_score %>

虽然我如何能够获得一个用户发布的片段的总价值?

4

2 回答 2

0

您总是可以通过执行查看用户的所有投票@user.votes

在此处查看acts_as_voter文档,它已经可以满足您的任何需求。

于 2016-11-22T22:17:35.447 回答
0

我假设你已经建立了关系user has_many snippets?如果是这种情况,您应该能够获取与用户关联的所有片段并总结votes_for.

user.snippets.sum { |s| s.votes_for.size }

编辑:或者在你的情况下:

user.snippets.sum { |s| s.weighted_score }

参考:

http://apidock.com/rails/Enumerable/sum

https://github.com/ryanto/acts_as_votable

于 2016-11-22T22:21:55.630 回答