我是 Rails 的初学者,在改进我的搜索查询时遇到了一些问题:
在控制器中我调用:
def index
if params[:search]
@persons = Person.search(params[:search]).order("created_at DESC")
else
@persons = Person.order("created_at DESC")
end
end
在模型中我有:
def self.search(query)
where("name like ?", "%#{query}%")
end
所以实际上我只过滤名称!现在我尝试改进它,但它没有解决我喜欢它的方式,我的目标是用户可以输入例如:
John
Smith
Smith John
John Smith
它总是应该返回John Smith
。那么如何写这么长的sql查询呢?提前致谢!