Как можно узнать в RoR в какой строчке находится определенная запись в БД?
Допустим, есть таблица User с таким содержимым в БД:
id | login
4 | my_login34
7 | my_login4
3 | my_login11
Как можно сделать выборку из таблицы и узнать в какой строчке находится эта запись, к примеру, my_login4 находится во второй строчке, но как можно узнать сделав выборку из таблицы:
u = User.where(login: 'my_login4').first ???
Или добавить поле, которое будет содержать позицию каждого и при каждом изменении таблицы пересчитываться
Или User.pluck(:login).index("my_login4") не забыв проиндексировать поле логина
Ну вдруг есть игра, в которой есть таблица, а нем есть рекорды пользователей. Id могут быть не последовательными, и нужно показать в каком месте в топ-100 находится пользователь с отсортировкой по количеству.
Если это рейтинг, то должны быть какие-то балы, очки. Что бы вывести топ-100, собственно, вы делаете User.order(:rating).limit(100). Что б получить пятого пользователя из рейтинга, например, делаете User.order(:rating).limit(100).offset(4).first Насчет того, что указать 4,5 или 6 в offset, надо попробовать