如何清除 Rails 应用中的搜索结果?

How to clear the search results in a Rails app?

我是 Rails 菜鸟,正在寻求帮助以清除搜索结果。

我构建了一个列出咖啡馆的示例应用程序,并使用 elasticsearch 和 searchkick 实现了搜索。搜索功能将参数附加到 URL,如 http://localhost:3000/cafes?search=sydney&commit=Search 中一样,并且工作正常。

现在我想添加一个按钮来清除搜索结果:

清除按钮的 link 指向 cafes_path (http://localhost:3000/cafes),因此它基本上会在没有搜索参数的情况下重新加载页面:

= form_tag cafes_path, :method => :get do
      = text_field_tag :search
      = submit_tag value = "Search"
      = link_to cafes_path
  1. 这是清除搜索的可接受方式吗?
  2. 根据搜索框中的内容,使用 JavaScript 逻辑 enable/disable 清除按钮是否是可接受的 Rails 方法?

如果您需要查看更多模型或控制器代码来理解问题,请告诉我。

  1. 这种方式很标准
  2. 当然可以,使用 javascript - 或者您也可以 google 其他已经完成的方式,看看他们做了什么。