Вывести параметры pg_search на страницу шаблона Rails 5
У меня есть страница продуктов, которая фильтруется с pg_search
драгоценный камень. То, что я хотел бы сделать, это создать крошку, которая перечисляет параметры поиска на странице.
Если мой поисковый URL выглядит так http://127.0.0.1:3000/products?utf8=%E2%9C%93&query=modern&query=stone&query=limestone&commit=Search
Я хотел бы напечатать modern stone limestone
на страницу.
products_controller.rb
def index
@products = if params[:query]
@albums = Album.where(name: params[:query])
Product.search_for(params[:query])
else
@albums = Album.where(name: 'products')
Product.order(:name)
end
end
index.html.erb Это то, что я пытался, но понял, что в нем перечислены ВСЕ теги, которые мне нужны только теги, которые являются частью параметров поиска
<ul class="product-index-breadcrumb">
<% @products.each do |p| %>
<% p.tags.each do |t| %>
<li><%= t.name %></li>
<% end %>
<% end %>
</ul>
1 ответ
Вы должны изменить свой URL, например, добавление строки массива []
если вы сохраните это, то только без []
тогда он принимает только последнее значение, как limestone
, после модификации URL то будет выглядеть так http://http://127.0.0.1:3000/products?utf8=%E2%9C%93&query[]=modern&query[]=stone&query[]=limestone
тогда если пишешь как
<%= params[:query] %>
это вернется
["modern", "stone", "limestone"]
Теперь вы можете запустить цикл как
<ul>
<% params[:query].each do |query_params| %>
<li><%= query_params %></li>
<% end %>
</ul>
тогда вывод
- современный
- камень
- известняк