从用户帖子中获取选票的价值

Get value of votes from users posts

我有一个模型 snippets,用户可以在其中 post 片段。他们 post 可以使用 acts_as_votable gem 对片段进行投票。这工作得很好,当用户投票时,片段的投票计数增加一。

尽管如此,我想知道有没有一种方法可以获得他们 posted 的一个用户的片段的总票数?

因此,如果用户 post 编辑了 4 个片段,每个片段的价值为 2 票,那么我将尝试仅获取其片段的总价值 - 即 8。

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

<%= @snippet.weighted_score %>

虽然我如何才能获得一个用户posted 片段的总价值?

您总是可以通过 @user.votes

查看用户的所有投票

查看 acts_as_voter 文档 here,它已经可以满足您的所有需求。

我假设你已经建立了 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