RubyonRails 5问题“;“收藏”;未定义的方法`to#a';你是说?到

RubyonRails 5问题“;“收藏”;未定义的方法`to#a';你是说?到,ruby,ruby-on-rails-4,ruby-on-rails-5,Ruby,Ruby On Rails 4,Ruby On Rails 5,我很难将这个对象传递给partial,我不知道问题是不是这个项目最初是在Rails版本上开发的我猜你从@page.eateries中得到了一个EmptySearch实例,然后你把EmptySearch传递给了一些可以枚举的东西(例如数组,ActiveRecord查询,…),然后某个东西调用来获取它可以迭代的数组 快速修复方法是将添加到A到清空搜索中: class EmptySearch #... def to_a [] end end 一个更好的解决方案是使EmptySea

我很难将这个对象传递给partial,我不知道问题是不是这个项目最初是在Rails版本上开发的我猜你从
@page.eateries
中得到了一个
EmptySearch
实例,然后你把
EmptySearch
传递给了一些可以枚举的东西(例如数组,ActiveRecord查询,…),然后某个东西调用
来获取它可以迭代的数组

快速修复方法是将
添加到A
清空搜索中

class EmptySearch
  #...
  def to_a
    []
  end
end

一个更好的解决方案是使
EmptySearch
可枚举。一个可能更好的解决方案是完全摆脱
EmptySearch
并拥有
@页面。餐馆给你一个与任何内容都不匹配的查询。

你的部分内容是什么?如果你使用
项目作为本地尝试
什么是
EmptySearch
类,它来自哪里?你确定
@page.eateries
可以多次被呼叫吗?谢谢你的回答,我刚刚发布了部分搜索的内容
 <%= render partial: "components/v2/eatery_card", collection: @page.eateries %>
  def show
    redirect_to controller: 'cities', action: 'show', location: searchkick_params[:location] if searchkick_params[:location]
    @page = SearchPage.new(current_user, request, searchkick_params)
    @sarray=@page.eateries

    js search_results: @page.eateries, map_center: @page.map_center, ajax_results_url: api_v1_search_map_results_path, search_allergens: @page.allergen_ids, search_food_typologies: @page.food_typology_ids
  end
<div class="col-12 col-md-6">
  <div id="eatery-card" class="eatery_result_<%= eatery_card.id %>">
    <% if signed_in? && current_user.favorite_eateries.ids.include?(eatery_card.id) %>
      <div class="eatery-favorite active eatery_toggle_favorite" data-id="<%= eatery_card.id %>"></div>
    <% else %>
      <div class="eatery-favorite eatery_toggle_favorite" data-id="<%= eatery_card.id %>"></div>
    <% end %>

    <% if @page %>
      <%= link_to '', eatery_path(eatery_card.id, allergens: @page.allergen_ids , food_typologies: @page.food_typology_ids, searched: true), class:'eatery-link' %>
    <% else %>
      <%= link_to '', eatery_path(eatery_card.id), class:'eatery-link' %>
    <% end %>

    <div class="eatery-image" style="background-image: url(<%= eatery_card.image.url(:medium)%>);"></div>

    <h5 class="eatery-name p-0 pt-3 mb-2">
      <%= eatery_card.name %>
      <span class="eatery-category text-success ml-1">
        <%= eatery_card.category.name %>
      </span>
    </h5>
    <h6 class="eatery-address p-0 m-0 mb-2 small"><%= eatery_card.complete_address %></h6>

    <div class="eatery-rating">
      <div class="er-stars mr-1 pull-left">
        <%= rate_to_stars(eatery_card.reviews_score) %>
      </div>
      <span class="er-reviews-count text-muted small"><%= eatery_card.reviews.approved.count %> recensioni</span>
    </div>
  </div>
</div>
class EmptySearch
  def total_count
    0
  end

  def took
    0
  end
end
class EmptySearch
  #...
  def to_a
    []
  end
end