使用 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"
.
在搜索单个模型时终于让 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"
.