努力弄到“你是说什么?”功能与我的rails 4应用程序集成。我正在使用搜索与elasticsearch。
当用户在视图中拼写错误查询时,我终于得到了您想要显示的意思:
<%= @articles.suggestions %>但是,当没有任何建议的时候,我得到了undefined method 'suggestions'
我是否需要在控制器中定义建议?我试着只在建议出现时使用以下方法来显示:
<% if @articles.suggestions.present? %>
<%= @articles.suggestions %>
<% end %>但也有同样的错误。做这件事最好的方法是什么?搜索仍然是非常新的,所以我很感激任何帮助。
下面是我在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"发布于 2015-07-19 02:05:58
你可以try
<%= @articles.try(:suggestions) %>发布于 2015-10-30 21:11:57
值得注意的是,一种不依赖Object#try的方法
<% if @articles.respond_to?(:suggestions) %>
<%= @articles.suggestions %>
<% end %>https://stackoverflow.com/questions/31497307
复制相似问题