在 Rails 4 应用程序上使用带有 searchkick 的 elasticsearch。
如果未找到搜索结果,则尝试重定向到某个路径。我最近从 solr 和 sunspot 切换到了 elasticsearch,所以仍然熟悉弹性。
我尝试使用我的旧代码(来自太阳黑子):
def index
if params[:query].present?
@articles = Article.search(params[:query], misspellings: {edit_distance: 1})
else
@articles = Article.all
end
if @articles.results.any?
@results = @articles.results
else
return redirect_to request_path
end
end
未找到结果时重定向有效,但如果单击搜索(提交)按钮且搜索栏中没有查询,则会返回错误:
undefined method `results' for #<Article::ActiveRecord_Relation:0x00000102300d10>
任何帮助将不胜感激。我知道这很简单,但我似乎找不到答案。谢谢!