首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >rails中的搜索功能

rails中的搜索功能
EN

Stack Overflow用户
提问于 2012-05-28 06:05:54
回答 2查看 276关注 0票数 0

,我有工作安排模型,我想实现搜索功能,它应该是关键字搜索,也就是说,即使你在搜索中键入任何关键字,如果它存在于求职表的db中,它应该显示结果。

目前,我正在使用以下代码,它只匹配一个字段,即公司和类别的名称(如params:category.Following中的),是我的作业控制器/索引操作的tha代码。

代码语言:javascript
运行
复制
if params[:search]
      @search_condition = "%" + params[:search] + "%"
      @searchresult = Jobplacement.where(['name LIKE ? and category = ?', @search_condition ,params[:category]])
else 
     @searchresult = ""
end

也在上面的代码中,虽然我已经给出了类别的条件,它不执行properly.When,我确实搜索,它给出了匹配name字段的结果,但是它没有计算参数: condition.it显示所有记录,即使它们不是在params:condition.it:中。

以下是我的就业模式中的字段:

代码语言:javascript
运行
复制
t.string   "name"
t.string   "designation"
t.string   "qualification"
t.integer  "years_of_exp"
t.string   "location"
t.integer  "noofpost"
t.string   "jobprofile"
t.string   "salaryoffered"
t.string   "contactperson"
t.string   "employmenttype"
t.text     "address"
t.string   "city"
t.string   "state"
t.string   "country"
t.integer  "contactno"
t.string   "website"
t.text     "aboutcompany"

,所以当我在搜索中输入任何关键字时,如果它与任何字段的数据匹配,它应该返回data.How,我可以这样做……如何解决这个参数:类别错误,以及如何进行关键字搜索,以匹配就业模型数据库中的任何记录,而不仅仅是一个字段。

EN

回答 2

Stack Overflow用户

发布于 2012-05-28 06:13:00

查看思狮身人面像,它有您的问题的解决方案,并且有更多的特性,如子字符串搜索、野生字符支持等等。

票数 0
EN

Stack Overflow用户

发布于 2012-05-28 10:25:15

使用squeel http://erniemiller.org/projects/squeel/,您可以简单地这样做:

代码语言:javascript
运行
复制
terms = params[:search].split 
Jobplacement.where {name.eq(params[:category]) & (name.like_any(terms) | designation.like_any(terms) | qualification.like_any(terms) <...>) } 
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/10780008

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档