3

Railsプロジェクトでmeta_searchgemを使用しています。データベースはOracleデータベースであり、「like」では大文字と小文字が区別されます。次のようなクエリを取得するために、新しい条件などを作成する方法を誰かが知っていますか?

UPPER(NAME) LIKE UPPER('User Firstname')
4

2 に答える 2

1

meta_search メソッド クラス- 最初の 2 つのコード サンプル。:backwards_name必要に応じて書き換える代わりに、:incasesensitive_nameそのようなテキストフィールドを検索フォームに追加します。

UPPER()はOracle AFAIRに組み込まれているため、スコープは次のようになります。

scope :incasesensitive_name, lambda {|name| where('UPPER(name) LIKE ?', "%#{name.upcase}%")}

それが役に立てば幸い。

于 2012-07-06T16:45:29.057 に答える
1

誰かがランサックでこれを行う必要がある場合に備えて:

ransacker :subject_cs, :formatter => proc {|v| v.downcase }, :splat_param => true, :type => :string do
    arel_table[:subject].lower
end
于 2013-11-21T10:22:27.360 に答える