Railsプロジェクトでmeta_searchgemを使用しています。データベースはOracleデータベースであり、「like」では大文字と小文字が区別されます。次のようなクエリを取得するために、新しい条件などを作成する方法を誰かが知っていますか?
UPPER(NAME) LIKE UPPER('User Firstname')
Railsプロジェクトでmeta_searchgemを使用しています。データベースはOracleデータベースであり、「like」では大文字と小文字が区別されます。次のようなクエリを取得するために、新しい条件などを作成する方法を誰かが知っていますか?
UPPER(NAME) LIKE UPPER('User Firstname')
meta_search メソッド クラス- 最初の 2 つのコード サンプル。:backwards_name
必要に応じて書き換える代わりに、:incasesensitive_name
そのようなテキストフィールドを検索フォームに追加します。
UPPER()
はOracle AFAIRに組み込まれているため、スコープは次のようになります。
scope :incasesensitive_name, lambda {|name| where('UPPER(name) LIKE ?', "%#{name.upcase}%")}
それが役に立てば幸い。
誰かがランサックでこれを行う必要がある場合に備えて:
ransacker :subject_cs, :formatter => proc {|v| v.downcase }, :splat_param => true, :type => :string do
arel_table[:subject].lower
end