2011-06-23 73 views
0

我正在尋找一種方法來執行以下操作。 其實,我正在搜索一些文章,並啓動搜索作爲參數的數組,即``params [:categories] = [「1」,「4」,「5」,「8」]Rails +思維獅身人面像:在數組中搜索條件

現在,thinkingSphinx`我下面

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

和啓動搜索類似

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

搜索,但是當我不斷獲得一個空的結果數組。任何人都知道如何管理數組?

回答

3

如果category是一個屬性,它可以是一個整數或整數集合(以您的示例爲例),那麼您需要做的一件事就是確保您提供的是一個整數數組,而不是字符串,進入過濾器:

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

請記住,這將返回所有這些類別的文章。如果類別是一個整數集合,並且您想要那些類別爲所有的文章,那麼您應該使用:with_all而不是:with

相關問題