2013-03-29 17 views

回答

2

用戶的排名可以被認爲是其他用戶比他們多點的數量加1。正如Mischa在評論中指出的,適當的地方是用戶模型本身,如下所示:

def ranking 
    User.where('point > ?', point).count + 1 
end 

你可以這樣調用它:

Rank: <%= @user.ranking %> 

這有排名的用戶在同一職級的點數相同的缺點。你必須爲這種情況決定一個「決勝者」。

+0

這不應該是一個輔助方法,而是用戶模型上的一個實例方法,允許您執行'@ user.ranking'。除此之外,好主意。 – Mischa

+0

謝謝米莎,我已經改變了我的回答。 –

相關問題