Ruby on rails 从用户帖子中获取投票的价值
我有一个模型Ruby on rails 从用户帖子中获取投票的价值,ruby-on-rails,ruby,acts-as-votable,Ruby On Rails,Ruby,Acts As Votable,我有一个模型snippets,用户可以在其中发布代码片段。他们发布的代码片段可以使用acts\u as\u votablegem进行投票。这是完美的工作方式,当用户投票时,片段的投票计数增加1 尽管如此,我想知道是否有一种方法可以获得一个用户发布的代码片段的总票数 因此,如果一个用户发布了4个代码段,每个代码段的值为2票,那么我尝试只获取他们代码段的总值,即8票 此代码用于获取单个代码段的投票: <%= @snippet.weighted_score %> 尽管我如何才能获得一
snippets
,用户可以在其中发布代码片段。他们发布的代码片段可以使用acts\u as\u votable
gem进行投票。这是完美的工作方式,当用户投票时,片段的投票计数增加1
尽管如此,我想知道是否有一种方法可以获得一个用户发布的代码片段的总票数
因此,如果一个用户发布了4个代码段,每个代码段的值为2票,那么我尝试只获取他们代码段的总值,即8票
此代码用于获取单个代码段的投票:
<%= @snippet.weighted_score %>
尽管我如何才能获得一个用户发布的代码片段的总价值?通过执行
@user.voces
查看
作为投票者的角色文档,它已经做了你想做的任何事情。我假设你有关系用户是否设置了许多片段?如果是这种情况,您应该能够获得与该用户相关的所有代码片段,并对
的投票进行汇总
user.snippets.sum { |s| s.votes_for.size }
编辑:或在您的情况下:
user.snippets.sum { |s| s.weighted_score }
参考资料:
这取决于你。您可以在User
模型中创建类似def分数的方法;snippets.sum{s|s.weighted_score};结束
,然后从视图中调用
,或者您可以直接在视图中调用
,尽管这没有那么干净。