晚安。
我有这个代码,当我点击排序链接时它会忽略搜索条件并发送仅带排序条件的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>