我沒有在has_many上試過這個:通過這樣在火焰中擊中我,如果有的話,但我不明白爲什麼這對你也不適用(我在has_many關聯中使用它),你基本上在索引定義中使用你的關聯。然後針對該模型的搜索也將搜索子記錄。
class Product < ActiveRecord::Base
has_many :product_categories
define_index do
indexes a_product_field_to_index
indexes product_categories.name, :as => :categories
end
end
在控制器:
@products = Product.search(params[:query] || '')
#params[:query] is simply the search string, I can't remember if you need to sanitize this, I would always assume you do unless you find out otherwise
在視圖:
@products.each do |p|
p.categories.each do |cat|
end
end
如果您還沒有它,我會強烈建議可用的思維 - 獅身人面像書上peepcode: https://peepcode.com/products/thinking-sphinx-pdf
希望有所幫助。