按点排序用户(使用优点宝石)

时间:2014-03-12 04:11:43

标签: ruby-on-rails merit-gem

按优点宝石生成的积分订购用户列表的最佳方法是什么?我很难这样做,因为优点可能不会将数据保存在数据库中。

到目前为止,我正在缓存用户表中的优点,我只是想知道是否有更好的方法。

4 个答案:

答案 0 :(得分:3)

在您的用户模型中,您可以定义默认范围:

        scope :ordered, ->{ joins('LEFT JOIN merit_scores ON ' \
                                   merit_scores.sash_id = "users".sash_id ' \
                                  'LEFT JOIN merit_score_points ON merit_score_points.score_id = merit_scores.id')
                           .group('"users".id')
                           .order('COALESCE(SUM(num_points), 0) DESC') }

答案 1 :(得分:0)

答案 2 :(得分:0)

这将排除没有积分的用户

@Html.Editor("entities[" + @k + "].Amount", entity.Amount, new { @Value = "45"}) <text> m</text>

答案 3 :(得分:-1)

首先,你被某人拒绝了,因为你的问题很模糊。 SO适用于特定于编程的问题(您需要包含代码)


<强>顺序

就答案而言,将使用.order ActiveRecord函数:

User.merits.order(:vote)

由于您没有提供太多代码,我尝试提供的任何进一步帮助都只是猜测 - 对任何人都没有帮助。也许您可以通过更多细节更新您的答案?