2016-09-18 4 views
0

Ich habe Mühe, meine Schleife durch meine Devise Benutzer durch die UpVotes auf tools von ihnen erstellt.Rails 4 Fehler: NoMethodError - undefined Methode

Innerhalb dieser Schleife ich den Wert bekommen würde Ich mag die elments verwenden, um zu bestellen mit:

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

Das ist meine Schleife ist:

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

Und mein Controller:

@users = User.all 

Ohne order in meiner Schleife läuft alles gut, dabei erscheint dieser Fehler:

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> 

Ich bin dankbar für jede Hilfe!

Antwort

0

können Sie joins perfekt

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

Works verwenden, danke! Ich werde deine Antwort so schnell wie möglich annehmen :) – Gugubaight

Verwandte Themen