2014-10-29 178 views
0

当我执行搜索查询时,我没有收到任何返回的结果。搜索查询返回空结果

def index 
     @users = User.where(zip_code: locations.map(&:zipcode)) 
     @users = User.search(params[:search].gsub(/\s+/, ' | ')) 

但如果我做它下面返回结果:

@users = User.where(zip_code: locations.map(&:zipcode)) 
else 
@users = User.search(params[:search].gsub(/\s+/, ' | ')) 

为什么我要加其他?我不应该能够同时运行吗?我想同时运行他们两个以获得预期的回报结果。

在我的应用程序的其他部分,我可以看起来像上面的原始代码,它按预期工作。但是在这个控制器中它并没有。

回答

1

我需要看到更多的代码,但我想它与您的#search方法是一种方法有关。 :P

要链接的方法,如:

User.where(zip_code: locations.map(&:zipcode)).search(params[:search].gsub(/\s+/, ' | ')) 

你需要搜索方法是一个范围。 =)