Я пытаюсь реализовать базовую c поисковую систему с опциями фильтрации, и я застрял на реализации searchkick. Вот мой код:
class ProductsController < ApplicationController
def index
if params[:query].present?
@products = policy_scope(Product.search(params[:query]))
else
@products = policy_scope(Product)
end
end
class Product < ApplicationRecord
searchkick
<h1>Products Index</h1>
<%= form_tag products_path, method: :get do %>
<%= text_field_tag :query,
params[:query],
class: "form-control",
placeholder: "Chercher par produit ou marque"
%>
<%= submit_tag "Rechercher", class: "btn btn-primary" %>
<% end %>
<br>
<ul>
<% @products.each do |product| %>
<li><%= link_to product.name, product_path(product) %></li>
<%= cl_image_tag product.photos.first.key, height: 550, width: 550, crop: :fill, quality: 100 %>
<% end %>
</ul>
Я не знаю, где сделать policy_scope, потому что каждый раз, когда я пытаюсь проиндексировать результаты поиска, он возвращает это сообщение об ошибке:
undefined method `all' for #<Searchkick::Results:0x00007f9f117b6530> Did you mean? all?
Заранее спасибо за помощь!