提交Elasticsearch时如何在搜索框中保留搜索框输入

时间:2015-04-10 19:43:56

标签: ruby-on-rails ruby-on-rails-4 elasticsearch textbox searchkick

在rails 4 app上使用searchkick进行弹性搜索。

我希望用户在搜索框中输入的输入(查询)在单击提交按钮并重定向页面后保留在那里。我的应用程序的每个页面都有一个搜索栏,因此在框中保持用户输入会很棒。截至目前,搜索框在提交后清除。

这样做有些麻烦。尝试了几种不同的方法,但没有任何工作。这是我的搜索栏视图:

<%= form_tag articles_path, method: :get do %>
 <p>
  <%= text_field_tag :query, params[:query], style:"width:550px; height:34px;", :autofocus => true, class: "form-control" %><br>
  <%= submit_tag "Let's Find Out!", :name => nil, class: "btn btn-default", style: "margin-top:6px; margin-right: 10px;" %><%= submit_tag "Most Popular", :name => nil, class: "btn btn-default", style: "margin-top:6px; margin-left: 10px;" %>
 </p>
<% end %>

任何建议都将不胜感激。

1 个答案:

答案 0 :(得分:1)

一些快速建议:

  1. 将params [:query]放入会话或cookie中,并插入text_field_tag作为占位符或value属性。显而易见的问题是,您必须在必要时手动清除它。
  2. 将params [:query]作为查询字符串传递,然后按照上面的方式插入text_field_tag。