User.select("first_name, last_name, login, id").where(["CONCAT_WS(' ', first_name, last_name, login) LIKE ?", "%#{parameters[:term]}%"])
これは必要なことには問題なく機能しますが、Rails アプリ内に明示的な MYSQL コードを含めるのは汚いと感じており、上記のクエリを作成するデータベースに依存しない方法があるかどうか疑問に思っていましたか? そうでない場合、ある種の連結関数をサポートしていないデータベースはありますか?
gem がデータベースにクエリを実行する必要があるため、仮想属性を使用できません。
または、full_name という追加の列を User モデル自体に追加し、仮想属性を使用してそれを first_name と last_name に分離するつもりでしたが、別の解決策を好むでしょう。