簡體   English   中英

將pg_search參數打印到Rails 5模板頁面

[英]Print pg_search params to Rails 5 template page

我有一個可以用pg_search gem過濾的產品頁面。 我想做的是創建一個面包屑,在頁面上列出搜索參數。

如果我的搜索網址看起來像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>

您需要修改您的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>

然后輸出是

  • 現代
  • 石灰石

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM