0
Ich habe diese each
Schleife:Werte zusammen aus Schleife Hinzufügen
<% User.group(:team).count.each do |team, count| %>
<%= "The '#{team}' has '#{count} User'" %>
<% end %>
Die Ausgabe ist wie folgt:
The 'Vikings' has '1 User' The
'Redsocks' has '3 User' The 'Giants' has '1 User' The
'Milan' has '2 User' The 'IKS' has '1 User' The 'Clampers' has '1 User'
Ich möchte count
zusammen hinzugefügt werden, und team
zusammen addiert werden. Ich möchte die Ausgabe etwas wie sein:
the app has " 9 " users supporting "6 " different teams
Kann mir jemand beraten, wie man das macht?
Was die Bewegungs dieser Logik an anderer Stelle zu bewegen, empfehle ich Verschieben Sie es zu einem Ihrer Modelle. Ein 'Team'-Modell, wenn Sie eines haben, ansonsten Ihr 'User'-Modell. Sie hätten also eine Methode 'User.team_users_details', die einen Hash zurückgibt, dann würde der Controller das aufrufen und an die Ansicht als' @ team_users_details' übergeben, dann würde die Ansicht 'Die App hat <% = @team_users_details [: users_count]%> ... '. –
@ RoryO'Kane Ich empfehle nicht, dies auf das Modell zu verschieben. Das Modell ist verantwortlich für die Geschäftslogik, weder statistische Logik noch Anzeigelogik sollten im Modell definiert werden. Dies ist der Grund, warum Sie mit fetten Modellen, mageren Controllern und logisch-schweren Ansichten enden. Das Decorator/Presenter-Muster wäre hier großartig, aber wenn Sie dieses Muster nicht einrichten möchten, sollte eine einfache Helper-Methode ausreichen. – MrYoshiji
Ich habe es für jetzt auf den Controller verschoben, es funktioniert so. Ist es besser, es auf das Modell zu verschieben oder sollte ich es in der Steuerung behalten? – Slowboy