2016-09-18 87 views
0

我正在努力通過我的Devise Users訂購我的循環,由他們創建的tools upvotes。Rails 4錯誤:NoMethodError - undefined方法

在該循環中,我得到的價值我想用命令與elments:

user.tools.map(&:cached_votes_up).sum 

這是我的循環:

- @users.order(user.tools.map(&:cached_votes_up).sum).each do |user| #incorrect! 

而且我的控制器:

@users = User.all 

沒有order在我的循環中,一切運行良好,出現此錯誤:

NoMethodError in Users#index 
Showing c:/Users/Jonas/gitapps/ocubit/app/views/users/index.html.haml where line #21 raised: 

undefined method `tools' for #<Class:0xac2db78> 

我很感謝您的幫助!

回答

0

您可以使用joins

@users = User.joins(:tools).group("users.id").order("SUM(tools.cached_votes_up)") 
+0

完美的作品,謝謝!我會盡快接受你的回答:) – Gugubaight

相關問題