【发布时间】:2015-02-04 13:51:23
【问题描述】:
我只是将搜索添加到我的项目中,以便能够按姓名查找人员。但在我的数据库中,我有 first_name 和 last_name 但如果有人搜索像 Joe Doe 这样的全名,则没有结果匹配
#model
class Person < ActiveRecord::Base
def full_name
(self.first_name + ' ' + self.last_name).titleize
end
end
#controller
class PeoplesController < ApplicationController
expose(:peoples){
if params[:search]
People.where(
"first_name ILIKE ?
OR last_name ILIKE ?
", params[:search], params[:search]
)
else
People.all
end
}
end
同样,如果有人搜索 first_name 它会返回结果,last_name 它会返回结果但不是全名
如果我尝试将full_name 添加到查询中,我会得到列“full_name”不存在
感谢您的帮助
【问题讨论】:
-
你缺少的是
"%#{params[:search]}%" -
问题不是通配符搜索是我还想搜索 firs_name + last_name 的组合值
标签: ruby-on-rails postgresql search pg