1

我的应用程序有一个用户模型,除了通常的和列之外,还有两个整数列:votes和。:badges:id:timestamp

目前,用户的默认范围是:

default_scope order: 'users.created_at DESC'

如何通过由 :votes :badges 组成的排名算法更新默认范围以进行排序?

我的算法是:

ranking = 2 * votes + badges

做这个的最好方式是什么?

我希望能够在模型中创建如下方法,但这不起作用

def ranking
  2 * self.votes + self.badges
end

我需要ranking在我的数据库中创建一个列吗?非常感谢您的帮助!

4

1 回答 1

3

你应该可以写

default_scope order("votes * 2 + badges")
于 2012-09-17T03:06:02.170 回答