如何使用另一个gem的方法查询Active Record?

时间:2017-10-14 13:09:11

标签: ruby-on-rails ruby

我正在使用acts_as_votable gem来允许我的模型Post投票。它允许我做@ post.weighted_score之类的事情来查看帖子组合的净值/ upvotes。如何在我的posts_controller中使用此方法来查询加权分数超过5的帖子?我需要这样做,因为我想为帖子设置一个“趋势”和“热门”页面,其中帖子需要一定数量的点才能显示在那里。感谢

1 个答案:

答案 0 :(得分:0)

您需要votes_for加入acts_as_votable关系建议,

Post.left_joins(:votes_for).group('id').having('SUM(IF(vote_flag = 1, 1, IF(vote_flag = 0, -1, 0))) > ?', 5)

这使您的最高加权分数超过5