1

我有两个模型:

Product { has_may variants}


Variant {belongs to product}

我使用了 Sunspot 搜索,结果我检索到了选定的变体,现在我想要这个结果,因为我的搜索结果包含搜索检索到的每个产品,该产品是一个或多个变体。

搜索代码示例如下:

@search = Sunspot.search(Spree::Variant) do
  keywords params[:keywords]      
  with :is_active, true  
  with  :deleted_at,nil
  if params[:ah].present? && params[:al].present?
    (Date.parse(params[:al])..Date.parse(params[:ah])).each do |d|
    with :f2r_available_on, d.to_time
    end
  end
end
@products = @search.results
4

1 回答 1

0

首先让我澄清一下:在您上面的代码中,@search.results是否从您的搜索返回了一组变体记录,并且您想要获取与这些变体中的一个或多个相关联的所有产品?

如果是这样,那么应该这样做:

@products = Product.where(:id => @search.results.map(&:product_id))
于 2013-01-29T13:00:38.387 回答