型号:产品
has-many product-categories, :through => ...
问题1)如何通过思考sphinx索引多对多关联
我必须使用吗?
问题2)如何在控制器中搜索
离。 Product.search params [:search-params],:conditions => {some_conditions}
答案 0 :(得分:2)
我没有在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
希望有所帮助。