Ruby on Rails: тестирование, если результаты ActiveRecord включают значение - PullRequest
6 голосов
/ 18 февраля 2009

Вторая половина дня

Допустим, у меня есть случайный выбор пользователей:

User.find (: all,: limit => 10,: order => "rand ()")

Теперь, исходя из этих результатов, я хочу посмотреть, был ли пользователь с идентификатором 3 включен в результаты, что было бы лучшим способом выяснить это?

Я думал об Array.include? но это, кажется, тупик для меня.

Спасибо

JP

Ответы [ 3 ]

8 голосов
/ 18 февраля 2009
users = User.find(:all, :limit => 10, :order => "rand()")
users.any? {|u| u.id == 3}
2 голосов
/ 18 февраля 2009
assert random_users.include?(User.find 3), "Not found!"

Активные объекты записи считаются равными, если они имеют одинаковые идентификаторы. Массив # включить? уважает равенство объектов, определенное с помощью метода ==.

0 голосов
/ 18 февраля 2009

User.find (: all,: limit => 10,: order => "rand ()"). Any? {| u | u.id == 3}

Это избавит вас от другой находки.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...