Rails 4 Searchkick 建议错误

Rails 4 Searchkick Suggestions Error

正在努力将 'did you mean?' 功能与我的 rails 4 应用集成。我将 searchkick 与 elasticsearch 一起使用。

我终于明白了当用户在视图中使用此代码拼错查询时要显示的内容:

<%= @articles.suggestions %>

但是,当没有任何建议时,我得到 undefined method 'suggestions'

我需要在控制器中定义建议吗?我尝试仅在使用此建议时显示建议:

<% if @articles.suggestions.present? %>
  <%= @articles.suggestions %>
<% end %>

但得到同样的错误。最好的方法是什么? searchkick 仍然很新,所以我很感激任何帮助。

这是我在articles_controller中的搜索方法:

@articles = Article.search(params[:q], misspellings: {edit_distance: 1}, suggest: true, fields: ["specific^10", "title", "aka", "category", "tags_name", "nutritiontable"], boost_where: {specific: :exact}, page: params[:page], per_page: 12)

和article.rb:

searchkick  autocomplete: ['specific'], suggest: ['specific'], conversions: "conversions"

你可以try:

<%= @articles.try(:suggestions) %>

值得注意的是一种不依赖于 Object#try

的方法
<% if @articles.respond_to?(:suggestions) %>
    <%= @articles.suggestions %>
<% end %>