2012-02-08 10 views
0

namesurnameのテーブルと、full_nameフィールドの検索フォームがあります。 どうすれば動作させることができますか?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 

... は結果にを与えません! なぜですか?

私はこの問題が連結に依存していると思っていますが、私は選択肢を見ることができません。実際には、ページメソッドがアクティブなレコードの検索、およびwill_paginateのメソッド(つまりページまたはページネート)で動作しないため、select句(つまり「*、(name + '' + surname)AS full_name」を変更できません。これ以上条件をサポートしないようにします。

答えて

1

使用してみてください:

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