Найти одинаковые значения между массивом и переменной активной записи в ruby - PullRequest
2 голосов
/ 04 октября 2011

Должно быть простым и может несколько усложнить заголовок.

У меня есть переменная, содержащая записи:

@record = Records.all

и массив, содержащий некоторые значения task_id:

@array #has for e.g. [1,2,3]

Что я хочу сделать, проверьте столбец task_id в списке записей в @records, чтобы увидеть, содержат ли они какие-либо числа в массиве.Если они это сделают, то я хочу, чтобы эти числа были помещены в другой массив.

Я знаю, что это просто, но я все время путаюсь, так как я совершенно новичок в синтаксисе ruby.

1 Ответ

6 голосов
/ 04 октября 2011

Это должно работать для вас:

@records.map(&:task_id) & @array

Это создает пересечение двух списков (task_ids и array).Вы можете попробовать этот пример на консоли (надеюсь, это поможет понять, как это работает):

irb(main):008:0> a =  [1,2,3,4]
=> [1, 2, 3, 4]
irb(main):009:0> b = [3,4,5,6]
=> [3, 4, 5, 6]
irb(main):010:0> a & b
=> [3, 4]
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...