acts_as_votable - 显示用户在特定模型上收到的投票数?

时间:2014-01-04 02:00:40

标签: ruby-on-rails ruby

在我的应用程序中,用户可以发布指南并对其进行upvote / downvote。我在指南模型中为这样的指南计算得分:

  def score
    upvotes.count - downvotes.count
  end

我希望能够在他发布的所有指南中向当前用户显示他的分数。类似的东西:

<%= current_user.guides.score %>

知道怎么做吗?这很简单。我无法确定要使用的正确变量。

2 个答案:

答案 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 %>