Я должен выполнить поиск в базе данных с помощью ransack. Несколько столбцов в базе данных имеют данные, хранящиеся в сериализованных массивах. Я хочу сопоставить точные данные, хранящиеся в массивах, с данными, отправленными пользователем для выполнения поиска (данные пользователей также являются массивами). Например, в базе данных один столбец имеет данные как (c1, c2 - тестовые примеры):
c1.column_data = [1, 2, 3, 4, 5]
c2.column_data = []
Пользователь ищет данные (t1, t2, t3 - это тестовые примеры):
t1.user_data = [1]
t2.user_data = [1, 3]
t3.user_data = [1, 2, 3, 4, 5]
t4.user_data = []
- Для случая
c1сt1,t2,t4он не должен возвращатьno match found. - С
t3это должно получиться сmatch found. - Для случая
c2сt1,t2,t3он не должен возвращатьno match found. - С
t4он возвращает результат.
Я нашел postgres_ext gem, но я не могу заставить его работать. Может ли кто-нибудь предложить, как я могу это сделать или предложить какой-либо альтернативный метод для поиска? Любое альтернативное решение также приветствуется.