代码之家  ›  专栏  ›  技术社区  ›  T. Cole

如何在Elastica窗体中搜索rails

  •  0
  • T. Cole  · 技术社区  · 7 年前

    我有一个应用程序设置文章,一个主页,和一个搜索功能。我正在使用elasticsearch搜索我的搜索功能。我还没有想出一种方法来使用主页上的搜索表单重定向到查询结果。我觉得这应该很简单,但我只是错过了。

    注意:Elasticsearch只在它自己的视图文件夹中工作。我只想让主页上的搜索表单以同样的方式操作,并将我带到一个显示查询文章列表的“结果”页面。

    class SearchController < ApplicationController
      def search
        if params[:q].nil?
          @articles = []
        else
          @articles = Article.search params[:q]
        end
      end
    end
    

    我的搜索视图:

    <h1>Articles Search</h1>
    
    <%= form_for search_path, method: :get do |f| %>
      <p>
        <%= f.label "Search for" %>
        <%= text_field_tag :q, params[:q] %>
      </p>
    <% end %>
    
    <ul>
      <% @articles.each do |article| %>
        <li>
          <h3>
            <%= link_to article.title, controller: "articles", action: "show", id: article._id%>
          </h3>
        </li>
      <% end %>
    </ul>
    

    主页上的搜索表单:

    <div class="search">
      <%= form_for search_path, method: :get do |f| %>
        <%= text_field_tag :q, params[:q], placeholder: "Search..."%>
        <%= submit_tag "Go", name: nil %>
      <% end %>
    </div>
    

    我的搜索路线:

    get 'search', to: 'search#search'
    
    0 回复  |  直到 7 年前