3

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
4

1 に答える 1