рельсы активные записи, проходящие строки - PullRequest
2 голосов
/ 20 ноября 2011

Я обращаюсь к таблице базы данных с помощью метода .where (). Это должно вернуть много строк. Как я могу просмотреть первый ряд или второй ряд. Я знаю, что могу использовать метод .each для обхода всех строк, но что, если я просто хочу получить доступ к определенной строке. Я новичок в рельсах, извините за этот простой вопрос.

Ответы [ 2 ]

5 голосов
/ 20 ноября 2011

Чтобы получить первый ряд, вы можете просто использовать .first

Model.where(:state => "active").first

.last работает так же:

Model.where(:state => "active").last

Чтобы получить n-й ряд, используйте [] с индексом на основе 0, как и с любым другим массивом

Model.where(:state => "active")[1] #second result
1 голос
/ 20 ноября 2011

Получив набор результатов, вы можете просто ссылаться на отдельные строки с помощью метода [].

* ** +1004 1005 * -doc.org / ядро-1.9.3 / Array.html # метод-я-5B-5D

results = YourClass.where(:foo => 'bar').all
results[0] # the first result
results[1] # the 2nd

# and so on until
results[results.length - 1] # the last item in the array
results[results.length]     # out of bounds, and returns nil

# you can also use negative numbers to count backwards
results[-1] # the last element
results[-2] # the 2nd from last
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...