Мышление Sphinx искать с двумя классами и нетерпеливо загружается - PullRequest
0 голосов
/ 12 октября 2010

Я использую TS для поиска по двум моделям (классам) одновременно:

class Product < ActiveRecord::Base
  belongs_to :user
  belongs_to :photo
  has_many :variants
end

class Article < ActiveRecord::Base
  belongs_to :user
  belongs_to :photo
end

В контроллере:

@item_facets = ThinkingSphinx.facets( options[:search],
                                      :classes => [Product, Article],
                                      :include => [:user, :photo])
@items = @items_facets.for

Можно ли как-то использовать готовую загрузку для :variants

1 Ответ

0 голосов
/ 16 октября 2010

Это немного уродливо, но работает:

ids = @items.select { |item| item.is_a?(Product) }.map(&:variant_id)
variants = {}
Variant.find(ids).each { |v| variants[v.id] = v }
@items.each do |item|
  item.variant = variants[item.variant_id] if item.is_a?(Product)
end

Есть ли лучшее решение?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...