我有users
表name
和surname
以及只有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方法(即页面或分页)似乎不再支持条件了。
答案 0 :(得分:1)
尝试使用:
where_clause = "(name || ' ' || surname) LIKE ?"