在我的应用程序中,用户可以发布指南并对其进行upvote / downvote。我在指南模型中为这样的指南计算得分:
def score
upvotes.count - downvotes.count
end
我希望能够在他发布的所有指南中向当前用户显示他的分数。类似的东西:
<%= current_user.guides.score %>
知道怎么做吗?这很简单。我无法确定要使用的正确变量。
答案 0 :(得分:4)
这应该有效:
current_user.guides.map { |guide| [ guide.name, guide.score ] }
此处guide.name
是指南的名称/标题。上面的这个陈述将为您提供指南名称及其在数组中的分数。
更新:获取current_user
的指南分数总和:
current_user.guides.sum(&:score)
答案 1 :(得分:2)
在控制器中:
@user_total_scores = current_user.guides.map(&:score).inject(0, :+)
查看:
<%= @user_total_scores %>