当我进行搜索查询时,我没有收到任何返回的结果。
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+/, ' | '))
为什么我必须添加其他?难道我不能同时跑两个人吗?我想同时运行它们以获得预期的返回结果。
在我的应用程序的其他部分,我可以看起来像上面的原始代码,它按预期工作。但是在这个控制器中它并没有。
答案 0 :(得分:1)
我需要查看更多代码,但我猜这与您的#search
方法是一种方法有关。 :P
链接方法如:
User.where(zip_code: locations.map(&:zipcode)).search(params[:search].gsub(/\s+/, ' | '))
您需要将搜索方法作为范围。 =)