7
名前を含むPersonモデルがあり、できるだけ簡単に検索したい。Postgresでのレールのパターンマッチング( "where column LIKE '%foo%")
DataMapperのように、People.like(:name => "%#{query}%")
の行に沿ってrails/ActiveRecordメソッドがありますか?私はActiveRecordのドキュメントでこのようなものを見つけることができませんでしたが、単純に不可能な場合は私はショックを受けました。
現在、私はPerson.where "name LIKE '%#{query}%'"
を実行しています。これは素晴らしい動作ですが、明白なSQLインジェクションの脆弱性です。
のRails 3.2
Isnt postgresはLIKEの代わりにILIKEを使用していますか? – sunny1304
"LIKEの代わりにキーワードILIKEを使用すると、アクティブなロケールに応じて大文字と小文字を区別しないようにすることができます。これはSQL標準にはありませんが、PostgreSQL拡張です。 – AlexQueue
よろしくお願いします。ありがとう。 – sunny1304