Ich bin ein Wettsystem implementieren und jeder Benutzer hat ein Guthaben, wie kann ich einen Rang eines Benutzers mit ActiveRecord-Methoden zu finden? danke für Ihre Hilfe.HOWTO Gegenstände nach Guthaben in Ruby auf Schienen ranken
Antwort
Um den Rang eines Benutzers zu erhalten,
Users.all(:order => "balance").index(a_particular_user)
Dies sollten Sie den Index (Rang) eines bestimmten Benutzers innerhalb des Arrays von allen Benutzern geben (nach Balance sortiert).
danke, mein Problem behoben ist – fenec
Wenn ich verstanden, was Sie wollen, müssen Sie nur die Benutzer von Balance bestellen
User.all(:order => "balance")
Edit: es sei denn balance
ist kein Attribut ...
Edit # 2: Nachdem ich Drew Johnsons Antwort gesehen hatte, wurde mir klar, dass ich deine Frage falsch verstanden hatte. Wie er sagte, können Sie die index
Methode verwenden, um zu tun, was Sie wollen.
@user = User.first
@rank = User.all(:order => "balance").index(@user)
danke, mein Problem ist fest – fenec
paar Tagen habe ich nur gefragt, die gleiche Frage
Position of object in database
meine Lösung war genau das gleiche wie @Drew Johnson vorgeschlagen (User.all.index current_user
). Aber ich brauchte „query Lösung“ und @Vlad Zloteanu hat mir große Idee:
User.count(:order => "balance", :conditions => ['balance < (?)', current_user.balance])
dies schnell Abfrage Lösung für große Datentabellen.
Eine etwas effizientere Lösung, wenn Sie viele Benutzer haben:
Users.order(:balance).pluck(:id).index(a_particular_user_id)`
Auf diese Weise Ihre App holt n integer IDs anstelle des Ziehens und n ganze User
Aufzeichnungen/Objekte instanziieren. Könnte um Größenordnungen schneller sein.
Mit dieser Methode meiner Anfrage 30 ms dauerte, die Verwendung von ".index" durch das Benutzerobjekt dauerte 250ms. Sehr effiziente Lösung! –
- 1. Büroklammer Ruby auf Schienen
- 2. Schienen/Ckeditor howto Höhe ändern?
- 3. Ruby auf Schienen geplanten Aufgaben
- 4. Ruby auf Schienen link_to Syntax
- 5. Ruby auf Schienen SQLite-Problem
- 6. var_dump und sterben wie PHP, In Ruby auf Schienen (debug in Ruby auf Schienen)
- 7. Suchfunktion für Gespräche in Ruby auf Schienen
- 8. Ruby auf Schienen neue Objekteigenschaften
- 9. Ich lerne Ruby auf Schienen
- 10. Ruby auf Schienen w/SQLServer
- 11. Ruby auf Schienen Anwendung root
- 12. Warum wählt V in Vim nach dem Ranken mehr Zeilen?
- 13. Effizienter Weg,() auf Spark zu ranken?
- 14. Verschachtelte Layouts in Ruby auf Schienen
- 15. Sortieren alphabetisch in Ruby auf Schienen
- 16. SQL Wie Operator in Ruby auf Schienen
- 17. nicht entkommen HTML in Ruby auf Schienen
- 18. Routing-Probleme auf Ruby in Schienen 4.2.6?
- 19. Automatische Assoziationen in Ruby auf Schienen Fixtures
- 20. API-Token in Ruby auf Schienen
- 21. Payflow Zahlung Integration in Ruby auf Schienen
- 22. Methoden mit link_to In Ruby Tags (Ruby auf Schienen)
- 23. Howto ein Git Repository mit Ruby als Zipfile veröffentlichen
- 24. Wählen Volkswirtschaft: Ausgleichen von Guthaben
- 25. Rake db: create ruby auf Schienen
- 26. Ruby auf Schienen seltsame Anzahl Fehler
- 27. Mahout Plugin für Ruby auf Schienen
- 28. Interner Server Fehler mit Ruby auf Schienen
- 29. ist Ruby auf Schienen Ordner hiearachy unterstützen?
- 30. Ruby auf Schienen paginiert zwischen Daten
http://stackoverflow.com/questions/2763801/position-of-object-in-database – fl00r