Ruby on rails Rails:搜索多个属性
我已经建立了一个简单的搜索模型,有四个可以搜索的属性;姓名、年龄、地点和性别。我遇到的问题是,我似乎找不到搜索多个属性的正确代码 例如,搜索“adam”时应生成名为adam的所有用户,而搜索伦敦时应显示来自伦敦的所有用户。我只能单独搜索一个属性(名称),因此如果我键入“london”,它将显示一个空白结果页 /people/index.html.erb(搜索表单)Ruby on rails Rails:搜索多个属性,ruby-on-rails,Ruby On Rails,我已经建立了一个简单的搜索模型,有四个可以搜索的属性;姓名、年龄、地点和性别。我遇到的问题是,我似乎找不到搜索多个属性的正确代码 例如,搜索“adam”时应生成名为adam的所有用户,而搜索伦敦时应显示来自伦敦的所有用户。我只能单独搜索一个属性(名称),因此如果我键入“london”,它将显示一个空白结果页 /people/index.html.erb(搜索表单) 下面的代码运行良好 where('name LIKE ? OR location LIKE ?', "%#{search}%","%
下面的代码运行良好
where('name LIKE ? OR location LIKE ?', "%#{search}%","%#{search}%")
@meagar,我无法理解这一简单的代码行是如何“超出堆栈溢出的范围”的
where('name LIKE ? OR location LIKE ?', "%#{search}%","%#{search}%")
@meagar,我无法理解这一简单的代码行是如何“超出堆栈溢出的范围的”。您可以检查gem以解决您的问题,它将搜索引擎平台集成到Rails中,是Rails应用程序的一个经过战斗验证的解决方案。在我公司的网站上,我们使用solr搜索房屋、交通零售商和旅游。这对你的项目来说可能有点沉重,但如果你正在寻找一个强大的解决方案,那么Sunspot肯定会是其中之一。你可以检查gem以解决你的问题,它将搜索引擎平台集成到Rails中,并且是Rails应用程序的一个经过战斗验证的解决方案。在我公司的网站上,我们使用solr搜索房屋、交通零售商和旅游。这对你的项目来说可能有点沉重,但如果你正在寻找一个强大的解决方案,那么太阳黑子肯定会是其中之一。修改你的
search
方法,让它接受一个散列字段来搜索。为您编写这篇文章超出了堆栈溢出的范围。请至少尝试自己实现它,如果遇到问题,请发布您的进度。我尝试了许多不同的方法来实现此功能,包括七到八个编写搜索函数的不同教程,每次它都会抛出错误或崩溃,但也不会显示正确的结果。我尝试了很多不同的方法来添加多个搜索字段,但是找不到正确的语法。。因此,我之所以在这里发布,是因为我真的被卡住了。修改你的search
方法,让它接受要搜索的字段散列。为您编写这篇文章超出了堆栈溢出的范围。请至少尝试自己实现它,如果遇到问题,请发布您的进度。我尝试了许多不同的方法来实现此功能,包括七到八个编写搜索函数的不同教程,每次它都会抛出错误或崩溃,但也不会显示正确的结果。我尝试了很多不同的方法来添加多个搜索字段,但是找不到正确的语法。。因此,我之所以在这里发帖,是因为我真的被卡住了。
def index
@people = Person.search(params[:search], params[:id])
end
where('name LIKE ? OR location LIKE ?', "%#{search}%","%#{search}%")