使用Acts_as_Votable获取对象的所有upvotes

时间:2016-01-17 22:11:34

标签: ruby-on-rails ruby-on-rails-4 acts-as-votable

我如何获得用户为使用Acts_As_Votable积累的所有帖子所做的喜欢数量

<%= user.posts.all.votes.size %>?? 
undefined method `votes' for #<Post::ActiveRecord_AssociationRelation:0x808a1d8>

resources :posts, except: [:edit, :update] do
    member do
      get 'like', to: 'posts#like'
      get 'dislike', to: 'posts#unlike'
    end
  end

我收到错误

2 个答案:

答案 0 :(得分:0)

您有一组帖子,而不是一个帖子元素。我的猜测是你要做的事情:user.posts.all.map{|e| e.size}。请务必调整查询以预加载帖子。也许类似于:user.includes(:posts)....

答案 1 :(得分:0)

我明白了。

我不得不使用求和。 &lt;%= user.posts.count(&amp;:votes)%&gt;解决这个问题。