2012-02-08 51 views
0

我有一个usersnamesurname和只有full_name字段的搜索表单。 我如何得到它的工作?Like子句与Rails 3和Sqlite

我这个简单的代码试过:

where_clause = "(name + ' ' + surname) LIKE ?" 
# page is a will_paginate method 
@users = User.where([where_clause, "%#{params[:full_name]}%"]).page params[:page] 

以上代码生成:

SELECT "users".* FROM "users" WHERE ((name + ' ' + surname) LIKE '%test%') LIMIT 30 OFFSET 0 

...这给没有结果为什么?

我认为问题依赖于串联,但我看不到任何替代品。实际上,我不能修改select子句(即“*,(name +''+ surname)AS full_name”),因为page方法不适用于活动记录查找,并且will_paginate方法(即页面或分页)似乎不再支持条件。

回答

1

尝试使用:

where_clause = "(name || ' ' || surname) LIKE ?"