Wdrażam system zakładów wzajemnych, a każdy użytkownik ma równowagę, w jaki sposób mogę znaleźć rangę użytkownika za pomocą metod activerecord? dzięki za pomoc.HOWTO pozycjonowanie według wagi w Ruby na szynach
Odpowiedz
Aby uzyskać rangę użytkownika,
Users.all(:order => "balance").index(a_particular_user)
To powinno dać indeks (Ranking) danego użytkownika w tablicy wszystkich użytkowników (uporządkowana wg bilansu).
dziękuję, mój problem został rozwiązany – fenec
Gdybym zrozumiał, co chcesz, wystarczy zamówić użytkownikom równowagi
User.all(:order => "balance")
Edit:balance
chyba nie jest atrybutem ...
Edit # 2: po zobaczeniu odpowiedzi Drew Johnsona zdałem sobie sprawę, że źle zrozumiałem twoje pytanie. Jak powiedział, możesz użyć metody index
, aby zrobić to, co chcesz.
@user = User.first
@rank = User.all(:order => "balance").index(@user)
Dziękuję, mój problem został rozwiązany – fenec
kilka dni temu poprosiłem właśnie to samo pytanie
Position of object in database
moje rozwiązanie było tak samo jak @Drew Johnson zasugerował (User.all.index current_user
). Ale potrzebowałem „rozwiązanie zapytania” i @Vlad Zloteanu dała mi świetny pomysł:
User.count(:order => "balance", :conditions => ['balance < (?)', current_user.balance])
jest to szybkie rozwiązanie zapytanie do dużych tabel danych.
Nieco bardziej efektywnym rozwiązaniem, jeśli masz dużo użytkowników:
Users.order(:balance).pluck(:id).index(a_particular_user_id)`
ten sposób, aplikacja pobiera identyfikatory n całkowitych zamiast ciągnięcia i uruchamianiu n całych User
pozycji/obiektów. Może szybciej skończyć o rzędy wielkości.
Dzięki tej metodzie moje zapytanie zajęło 30 ms, używanie tylko ".index" przez obiekt użytkownika zajęło 250ms. Bardzo wydajne rozwiązanie! –
- 1. Profilowanie aplikacji ruby / ruby na szynach
- 2. Pomocników ścieżki Ruby na szynach
- 3. Jak zmienić trasę w ruby na szynach?
- 4. Automatyczne skojarzenia w urządzeniach ruby na szynach
- 5. Jak przesłać plik w Ruby na szynach?
- 6. LINQ: Podział listy na grupy według wagi/rozmiaru
- 7. Mahout Plugin do ruby na szynach
- 8. Jak umiędzynarodowić zawartość ruby na szynach?
- 9. Ruby na szynach, wielokrotne sprawdzanie zerowych atrybutów
- 10. Jak manipulować DOM z Ruby na szynach
- 11. Ruby na szynach: Zagnieżdżone atrybuty, belongs_to relacja
- 12. web based ide do ruby na szynach?
- 13. Jak prekompilować aktywa w środowisku programistycznym na ruby na szynach?
- 14. Jak liczyć grupę według rzędów w szynach?
- 15. Znajdź według wielu warunków w szynach
- 16. ruby na szynach: renderowania partials na każdej pozycji na liście
- 17. Sortowanie tablicy obiektów w Ruby według atrybutów obiektu?
- 18. Jak uzyskać listę kontrolerów i działań w ruby na szynach?
- 19. zmienić domyślny format daty w ruby na szynach?
- 20. Czy powinienem używać has_one lub belongs_to w ruby na szynach?
- 21. Jak debugować ruby na szynach w pluginach eclipse aptana
- 22. Jak mogę skopiować bazę danych mySQL w ruby na szynach?
- 23. logika ruby na szynach dla częściowego w układzie
- 24. Zmienna instancji a symbol w ruby na szynach (forma_for)
- 25. W jaki sposób zaimplementowano ruby na szynach has_many (i podobne)?
- 26. Jak zmienić liczbę symboli w Ruby (na szynach)?
- 27. reply_with nie działa w ruby na szynach. Czemu?
- 28. Przechowywanie danych w Ruby na szynach bez bazy danych
- 29. wybierz i zmień w formularzu Ruby na szynach
- 30. Jak przelecieć przez miesiące w Ruby na szynach
http://stackoverflow.com/questions/2763801/position-of-object-in-database – fl00r