我已经使用 Ransack 设置了 Ajax 搜索和排序。我能够从文本字段中搜索,按产品名称、价格等排序。
现在我想添加点击位置链接的功能。像拉脱维亚、波兰一样,然后仅动态显示来自该位置的产品。
我的代码:
协会
产品.rb
belongs_to :region
区域.rb
has_many :products
我的搜索表格:
<%= search_form_for @search, :class=>"search",:remote=>"true", url: products_path, :method => :get do |f| %>
<%= sort_link @search, :height,"AUGUMS", {}, { :remote => true, :method => :get } %>
<%= sort_link @search, :price,"CENA", {}, { :remote => true, :method => :get } %>
<% slice.each do |region| -%>
<li>
<%= sort_link @search,'region.products',region.name, {}, { :remote => true, :method => :get } %>
</li>
<% end -%>
<%end%>
我的控制器:
@adver = Product.all
@search = @adver.search(search_params)
@search.sorts = 'name' if @search.sorts.empty?
@advertisements = @search.result().page(params[:page])
问题:
当我单击此类区域链接时。它只是将页面上所有产品的顺序更改为 ASC 或 DESC。
我期望的是,单击区域链接仅检索该区域中的那些产品。
我做错了什么?
任何帮助都会很棒。谢谢。