Вы можете рассмотреть возможность использования Arel.
where(
%i[home_team guest_team]
.map { |field| <YourClassModel>.arel_table[field]].in(Team.search(params, %i[name])) }
.inject(:or)
<YourClassModel>.arel_table
этот материал должен быть перемещен в другую функцию, если вы хотите придумать мое предложение.
Другой способ - использовать Merge
и попробуйте разбить Team.search
на область модели и объединить их с вашим запросом where
.