将 pg_search 参数打印到 Rails 5 模板页面
Print pg_search params to Rails 5 template page
我有一个可以使用 pg_search
gem 过滤的产品页面。我想做的是创建一个面包屑,在页面上列出搜索参数。
如果我的搜索 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>
你需要修改你的 URL 例如数组字符串添加 []
如果你保留它然后它只没有 []
那么它只需要像 limestone
这样的最后一个值,
修改后 URL 会变成这样 http://http://127.0.0.1:3000/products?utf8=%E2%9C%93&query[]=modern&query[]=stone&query[]=limestone
那么如果你这样写
<%= params[:query] %>
会return
["modern", "stone", "limestone"]
现在你可以运行像
这样的循环
<ul>
<% params[:query].each do |query_params| %>
<li><%= query_params %></li>
<% end %>
</ul>
则输出为
- 现代
- 石头
- 石灰石
我有一个可以使用 pg_search
gem 过滤的产品页面。我想做的是创建一个面包屑,在页面上列出搜索参数。
如果我的搜索 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>
你需要修改你的 URL 例如数组字符串添加 []
如果你保留它然后它只没有 []
那么它只需要像 limestone
这样的最后一个值,
修改后 URL 会变成这样 http://http://127.0.0.1:3000/products?utf8=%E2%9C%93&query[]=modern&query[]=stone&query[]=limestone
那么如果你这样写
<%= params[:query] %>
会return
["modern", "stone", "limestone"]
现在你可以运行像
这样的循环<ul>
<% params[:query].each do |query_params| %>
<li><%= query_params %></li>
<% end %>
</ul>
则输出为
- 现代
- 石头
- 石灰石