Im Moment spiele ich mit Rails herum, um den Dreh und die Programmierung im Allgemeinen zu bekommen. Deshalb habe ich meine erste Rails-App erstellt, in der ich meine Spiele (aus der Spieldatenbank) auf einer der Seiten anzeigen und nach einer in den einzelnen Funktionen berechneten Variablen sortieren möchte. Meine Ansicht Seite sieht wie folgt aus (vereinfacht):Verwenden von Variablen innerhalb jeder Funktion zu sort_by
<% @games.sort_by{|game| ???}.each do |game| %>
<p>Userexp: <%= game.userexp1 %></p>
<p>Userexpscore: <% if (game.userexp1 <= 60) %> <%= @UserexpScore = 1 %>
<% elsif (game.userexp1 > 60) %> <%= @UserexpScore = 2 %> = 2 <% end %></p>
<p>Price: €<%= game.price %></p>
<p>Pricescore: <% if (game.price <= 20) %> <%= @PriceScore = 2 %>
<% elsif (game.price > 20) %> <%= @PriceScore = 1 %> <% end %></p>
<p>Finalscore: <%= @FinalScore = @UserexpScore + @PriceScore %></p>
<% end %>
ich, wie ich sie von game.userexp1 oder game.price bestellen kann, aber ich kann nicht herausfinden, ob es möglich ist, sie durch @FinalScore zu sortieren (ohne auch den userexpscore und pricescore in die Datenbank zu setzen). Ich habe mich gefragt, ob das möglich ist und wenn ja, wie kann ich das machen?
Vielen Dank im Voraus!
Sie etwas sagen könnte, wie '<% @ games.sort_by {| Spiel | Spiel [: created_at]}. jedes tun | Spiel | %> 'um die Spiele nach ihrem Attribut ** created_at ** zu sortieren, wenn das Attribut existiert. – aonemd
Vielen Dank für Ihre schnelle Antwort, aber ich möchte sie wirklich mit der @ Finalscore Variable mit jeder Funktion sortieren. Wenn das natürlich auch möglich ist. – Neal
Sie müssen ein bisschen Refactoring machen. Ausarbeitung einer Antwort ... –