搜索表单不会重定向到“搜索视图”

时间:2014-08-12 09:32:56

标签: ruby-on-rails elasticsearch

我在我的Rails应用程序中集成ElasticSearch,基于此tutorial

与教程演示应用程序不同,我没有在搜索视图上实现我的搜索表单,但我在共享布局中实现搜索表单:

app/views/shared/_header.html.erb
...
<%= form_for search_path, method: :get do |f| %>
  <%= f.label "Search for" %>
  <%= text_field_tag :q, params[:q] %>
  <%= submit_tag "Go", name: nil %>
<% end %>

search_path的路径如下所示:

  get 'search', to: 'search#search'

搜索#search动作如下所示:

app/controllers/search_controller.rb
class SearchController < ApplicationController
  def search
    if params[:q].nil?
      @publications = []
    else
      @publications = Publication.search params[:q]
    end
  end
end

但是,当我在搜索表单中输入搜索字词并按下“开始”按钮时,按钮,我没有像我预期的那样去搜索页面(app / views / search / search.html.erb)。

我只是留在申请表的主页上。

有谁知道为什么“去”&#39;我的搜索表单按钮是不是将我发送到搜索视图模板?

感谢您的帮助,

安东尼

1 个答案:

答案 0 :(得分:0)

尝试使用它:

<%= form_tag(search_path, method: :get) %>
<% end %>

阅读form_tag

实际上form_for用于特定模型,但form_tag用于创建基本表单,请参阅此link