ПРЕДУПРЕЖДЕНИЕ: вызов search для отношения устарел

#ruby-on-rails #search #searchkick

#ruby-on-rails #Поиск #searchkick

Вопрос:

Я продолжаю получать эту ошибку, когда мы обновили нашу кодовую базу до searchkick 4.4 . Я пытался искать в Интернете, но безрезультатно.

Итак, у нас есть Opportunity модель, в которой мы вызываем search для коллекции объектов ActiveRecord, подобных so, чтобы вернуть наши результаты поиска:

 results = r.search q, fields: [:search_term], match: :word_middle, order: { created_at: :desc}
  

r это указанная коллекция, для которой мы вызываем search. Является ли это причиной возникновения этой ошибки? если это так, как мне обойти это, мы выполняем много условных проверок и запросов к запросам перед запуском search .

Ответ №1:

Да, именно по этой причине вы видите это предупреждение. В следующей основной версии не будет возможности поиска по отношению. Это критическое изменение, поэтому вам нужно обновить свой код, чтобы следовать разделу where, если вы собираетесь обновить gem до более высокой версии в будущем. Вам просто нужно перевести ваше отношение, чтобы оно было включено в часть where .