Как (Filterrific) Область, где столбец содержит массивы и должен соответствовать хотя бы одному значению второго массива - PullRequest
0 голосов
/ 21 апреля 2019

Я использую Filterrific для фильтрации пользователей, но один из столбцов содержит массив A = ["one", "two", "three"] и сравнивается с выбранными значениями, выбранными пользователем в массиве внешнего интерфейсаB =["one", "five", "four"]

Если попытаться использовать arrayA & arrayb, возвращаемое значение true.Но только за рамками.Также попытался использовать цикл, который возвращает идентификаторы пользователя для фильтрации по области.Проблема в том, что это занимает слишком много времени и создает конфликты с похожими областями действия с массивами.

User.first.languages ​​>> ["", "English", "French"]


  scope :with_languages, lambda{ |lang|
    user_ids = []
    User.each do |b|
      user_ids << b.id if (b.languages && lang).present?
    end
    where(id:[user_ids])
  }

Мне нужен поиск по области в структуре ruby ​​o sql, которая предоставляет пользователю, который соответствует по крайней мере один из выбранных языков в массиве B.

Спасибо

...