使用 Sunspot Solr 搜索多个模型时出错 Rails 3

Error searching multiple models with Sunspot Solr Rails 3

在搜索单个模型时终于让 Sunspot 工作了,但是在搜索多个模型时 运行 遇到了一些问题。

搜索后出现的错误:

Missing template search/index, application/index with {:locale=>[:en], :formats=>[:html], :handlers=>[:erb, :builder, :coffee]}. Searched in: * "/Users/Indokathan/code/iibfy/app/views" * "/usr/local/rvm/gems/ruby-1.9.3-p392/gems/devise-3.4.1/app/views"

search.rb

class Search < ActiveRecord::Base
 attr_accessible :title

 searchable do
   text :title      
  end
end

search_controller.rb

class SearchController < ApplicationController

def index
@search = Sunspot.search [Dairy, Drink] do
  fulltext params[:search]
 end
  @results = @search.results
 end  
end

searchbar.html.erb

<%= form_tag search_index_path, :method => :get do %>
<p>
    <%= text_field_tag :search, params[:search], style:"width:550px; height:30px;" %><br>
    <%= submit_tag "Search!", :name => nil, class: "btn btn-primary btn-lg", style: "margin-top:10px" %>
</p>

对于我为什么会收到此错误的任何帮助,我将不胜感激。如果您需要更多信息,请告诉我。

在进行单一模型搜索时,您会在相关控制器的同一索引页面中呈现结果,例如让我们使用 gem 文档(articles_controller.rb).[=15 中的 Article 模型=]

def index
  @search = Article.search do
      fulltext params[:search]
      with(:published_at).less_than(Time.zone.now)
    facet(:publish_month)
    with(:publish_month, params[:month]) if params[:month].present?
  end
  @articles = @search.results
end

它将在同一个文章索引页面中呈现结果。

因为现在您已经创建了一个通用搜索控制器,您将需要在 views>search>index.html.erb 中为此 index 操作创建一个单独的视图并在该页面中显示结果或呈现现有模板,如果可以使用 render :=> "your_view".