Rails查询包括acts_as_votable

时间:2013-11-19 02:58:01

标签: ruby-on-rails postgresql

我正在尝试根据他们获得的票数来查询热门演员(类似帖子)。

Acts_as_votable gem,目前我的演员阵容是可投票的。我可以投票给他们并检索他们的upvotes - downvotes,但我需要查询顶级演员。请帮助!

下面没有用

'<%cast_query = Cast.includes(:votes).order('vote_flag')。all%>'

说'vote_flag'无法识别,但我查看了我的Postgresql,这是upvote或downvote的1或0列的名称。

1 个答案:

答案 0 :(得分:1)

vote_flag列是投票,而非投票。除非你进行连接而不是包含,否则这不会起作用。

您可能希望按照此处的说明进行操作 - https://github.com/ryanto/acts_as_votable#caching - 设置可投票对象的缓存投票计数(在您的案例中为Cast)并按该缓存值排序。这将是合理的表现。

或者,您可以使用投票表进行联接,按强制转换。*进行分组,并使用vote_flag的总和进行排序。但那要复杂得多。