2011-04-30 62 views

回答

3
def tags 
    @tags = Tag.all.sort_by{|t| -t.konkurrancers.count } 
end 

如果你這樣做證明是太慢,你應該在標籤表中添加counter_cache列(名爲children_count)的速度,這樣你就可以做到這一點:

def tags 
    @tags = Tag.all(:order => 'children_count DESC') 
end 
+0

感謝唯一的問題是,這是錯誤的方向如何使命令ny DECS – 2011-04-30 23:47:50

+0

如何創建計數器緩存列?我已經搜索了互聯網,發現這個http://railscasts.com/episodes/23-counter-cache-column,但它不是rails 3 – 2011-04-30 23:50:12

+0

我找到了一個解決方案如何扭轉順序:Tag.all.sort_by {| t | t.konkurrancers.count} .reverse – 2011-04-30 23:56:52