1

努力獲取'你的意思是?功能與我的rails 4應用程序集成。我正在使用searchsearch與elasticsearch。Rails 4 Searchkick建議錯誤

我終於得到了您的意思是否當用戶拼錯的查詢與此代碼在視圖中顯示:

<%= @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" 

回答

2

您可以try

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

值得注意的方法不依賴於Object#try

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