Rails コントローラーで、モデルの正規表現検索を行いたいと考えています。私のグーグルは、次のようなものを書く必要があることを示しているようでした:
Model.find( :all, :condition => ["field REGEXP '?' " , regex_str] )
これは、MySQL 構文を暗示しているため、かなり厄介です (私は Postgres を使用しています)。
フィールドで正規表現検索を実行するようにレール (私の場合は 4) を強制するよりクリーンな方法はありますか?
where()
また、強力なパラメーター (ハッシュ) をクエリに直接マップできるため、using を使用することも非常に好みます。だから私が欲しいのは次のようなものです:
Model.where( params, :match_by => { 'field': '~' } )
これは大まかに (if params['field'] = 'regex_str') のようなものに変換されます
select * from models where field ~ regex_str