2013-01-19 106 views

回答

1

如果用戶acts_as_followable

User.all.sort_by(&:followers_count) 

每下面Benedikt Deicke's comment,這種解決方案導致N + 1次的查詢。爲防止出現這種情況,請爲所有User查詢啓用followings的急切加載。

# models/user.rb  
class User < ActiveRecord::Base 
    acts_as_followable 
    default_scope :include => :followings 
    # ... 
end 
+0

這有效,但它從最少的追隨者到最多的訂單。我會如何從最高到最低排序? –

+1

@AlexSmith'User.all.sort_by(&:followers_count).reverse' – Nishant

+0

@Nishant擊敗了我4秒!這是正確的,使用['Array#reverse'](http://www.ruby-doc.org/core-1.9.3/Array.html#method-i-reverse)。 – Substantial