#ruby-on-rails #ruby #activerecord
#ruby-на-рельсах #рубиновый #activerecord #ruby-on-rails #ruby
Вопрос:
Должно быть простым и, возможно, несколько усложнило название.
У меня есть переменная, которая содержит записи:
@record = Records.all
и массив, содержащий некоторые идентификаторы task_id:
@array #has for e.g. [1,2,3]
Что я хочу сделать, проверьте столбец task_id списка записей в @records, чтобы узнать, содержат ли они какие-либо числа в массиве. Если они это сделают, я хочу, чтобы эти числа были помещены в другой массив.
я знаю, что это просто, но я продолжаю путаться по пути, поскольку я совершенно новичок в синтаксисе ruby.
Ответ №1:
Это должно сработать для вас:
@records.map(amp;:task_id) amp; @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 amp; b
=> [3, 4]
Комментарии:
1. я получаю неправильное количество аргументов (1 для 0) с этой ошибкой.