You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

升级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

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.04.22 07:09:52