2011-06-23 42 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

相关问题