与Rails 3和Sqlite一样的子句

时间:2012-02-08 11:07:15

标签: ruby-on-rails-3 sqlite concatenation sql-like

我有usersnamesurname以及只有full_name字段的搜索表单。 如何让它正常工作?

我试过这个简单的代码:

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”)因为页面方法不适用于活动记录查找,并且will_paginate方法(即页面或分页)似乎不再支持条件了。

1 个答案:

答案 0 :(得分:1)

尝试使用:

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