当我使用ransack时,sort_link会忽略搜索条件

时间:2017-04-07 06:29:06

标签: ruby-on-rails ruby-on-rails-5 ransack

晚安。

我有这个代码,当我点击排序链接时它会忽略搜索条件并发送仅带排序条件的event.all

我认为问题是我在第一次加载时设置了一些变量,但路径和参数是空的

好的问题是在

结束的行上
  

除非params [:q]

控制器

def index
   @q = Event.search(params[:q])
   #predefined search items if no search at all  
   @q.datum_eq=Date.current() unless params[:q]
   @q.cil_id_eq=Sklad.first.id unless params[:q]
   @events = @q.result
end

视图

<%= search_form_for @q ,:html => { :class => "form-inline" } do |f| %>
<%= f.search_field :datum_eq, class: 'form-control' %>
<%=f.collection_select :cil_id_eq, Sklad.all, :id, :name,{},{class: "form-control"}%>
<%= sort_link(@q, :dodavatel) %>
end

PARAMS 当它正确的时候

 <ActionController::Parameters {"utf8"=>"✓", "q"=>{"datum_eq"=>"20.04.2017", "cil_id_eq"=>"1"}, "controller"=>"events", "action"=>"index"} permitted: false>

不正确的参数

<ActionController::Parameters {"q"=>{"s"=>"dodavatel asc"}, "controller"=>"events", "action"=>"index"} permitted: false>

0 个答案:

没有答案