Я создаю страницу поиска, где у меня есть пара фильтров, и я пытаюсь интегрировать их с Searchkick для запроса продуктов.
Это мои прицелы, которые я использую для продуктов
Модели / product.rb
scope :in_price_range, ->(range) { where("price <= ?", range.first) }
scope :in_ratings_range, -> (range) { where("average_rating >= ?", range.first) }
def self.with_all_categories(category_ids)
select(:id).distinct.
joins(:categories).
where("categories.id" => category_ids)
end
Это то, где я на самом деле называю границы
Контроллеры / search_controller.rb
@results = Product.search(@query)
@results = @results.with_all_categories(params[:category_ids]) if params[:category_ids].present?
@results = @results.in_price_range(params[:price]) if params[:price].present?
@results = @results.in_ratings_range(params[:rating]) if params[:rating].present?
После запуска я получаю сообщение об ошибке, в котором говорится, что в модели searchkick нет методов с именем моей области.
неопределенный метод `with_all_categories 'для #Searchkick :: Results: 0x00007f4521074c30>
Как использовать области с моим поисковым запросом?