2011-06-23 11 views
0

私は以下のことを行う方法を探しています。 実際にはいくつかの記事を検索していますが、検索を開始するときには、配列としてパラメータ `params [:categories] = [" 1 "、" 4 "、" 5 "、" 8 "]Rails + Thinking Sphinx:配列上の検索条件

thinkingSphinxで検索するとき

は今、 `私は、次の

#article.rb 
def self.adv_search(query, categories) 
    Article.search(
     query, 
     :with => {:category => }, 
    ) 
end 

adv_search(params[:q], params[:categories]) 

のような検索を起動を行うが、私は、空の結果の配列を取得しておきます。誰でもTSをどのように管理するのか知っていますか?

答えて

3

カテゴリが整数または整数のコレクションである場合(例の場合)は、文字列ではなく整数の配列を指定していることを確認する必要があります。フィルタに:

Article.search query, :with => {:category => categories.collect(&:to_i)} 

これらのカテゴリのすべての記事を返します。カテゴリが整数のコレクションで、のすべてのカテゴリがの記事を希望する場合は、:withの代わりに:with_allを使用する必要があります。

関連する問題