2017-10-14 64 views
0

我使用acts_as_votable gem來允許我的模型帖子被投票。它允許我執行諸如@ post.weighted_score之類的操作,以查看組合帖子的upvotes/downvotes淨額。我如何在我的posts_controller中使用這種方法來查詢加權分數超過5的帖子?我需要這樣做,因爲我想爲帖子設置「趨勢」和「熱門」頁面,其中帖子需要一定數量的點才能顯示在那裏。由於如何使用另一個gem的方法查詢Active Record?

+1

按照[文檔](https://github.com/ ryanto/acts_as_votable#caching),你可以添加緩存列,包括'cached_weighted_score',並且大概你可以查詢這些列。 – moveson

回答

0

你需要加入與votes_foracts_as_votable關係表明,

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

這給你頂加權分數超過5

相關問題