升级SearchKick与OpenSearch后,result._type属性不可用的替代方案咨询
升级SearchKick与OpenSearch后,result._type属性不可用的替代方案咨询
我最近把系统升级到了OpenSearch,同时也更新了SearchKick,但项目里的这段代码突然跑不起来了:
<% if @results %> <div class="search-results-wrapper search-results-wrapper--publications"> <% if @results_count.to_i > 0 %> <h2><%= params[:order] == 'alphabetical' ? 'Alphabetical' : 'Relevance' %> Results:</h2> <%= page_entries_info @results unless @do_quick_search %> <%= paginate @results %> <% @results.each do |result| %> <% result_type = result._type.underscore %> <%= render partial: result_type, locals: { result: result } %> <% end %> <%= paginate @results %>
这段代码原本是想根据每个搜索结果的类型,渲染对应的局部视图,但现在抛出了这个错误:
undefined method `underscore' for nil:NilClass
明显是result._type返回了nil,看来这个属性在新版本里已经不能用了。有没有什么替代的方法可以实现相同的功能呢?
备注:内容来源于stack exchange,提问作者rctneil
相关产品推荐
相关产品推荐

