Activerecord-reputation-system Rails gem如何按投票和新近投票排序?

时间:2013-05-19 12:46:47

标签: ruby-on-rails rubygems

我正在为Rails使用Activerecord-reputation-system gem。

  1. 我想将Product模型中的所有产品按其得分(声誉)排序。
  2. 你能不能告诉我如何按时间段限制声誉 - 假设我想通过上个月发生的选票对所有产品进行排序。

1 个答案:

答案 0 :(得分:0)

您可以手动对集合进行排序:

@products.sort! {|p1, p2| p1.reputation_for(:votes) <=> p2.reputation_for(:votes)}

就个人而言,我更喜欢使用范围/连接驱动的方式来允许操作数保持ActiveRecord :: Association。

Products.find_with_reputation(:votes, :all, {:order => 'votes DESC'})

或使用范围:

def self.most_voted
  find_with_reputation(:votes, :all, {:order => 'votes DESC'})
end