我在我的 Rails 项目中使用 meta_search gem。该数据库是 Oracle 数据库,“like”区分大小写。有人知道我如何创建一个新条件或其他东西来获取这样的查询:
UPPER(NAME) LIKE UPPER('User Firstname')
我在我的 Rails 项目中使用 meta_search gem。该数据库是 Oracle 数据库,“like”区分大小写。有人知道我如何创建一个新条件或其他东西来获取这样的查询:
UPPER(NAME) LIKE UPPER('User Firstname')
meta_search 方法类- 前两个代码示例。:backwards_name
与其将其重写为:incasesensitive_name
或您想要的任何内容,不如将此类文本字段添加到您的搜索表单中。
UPPER()
内置于 Oracle AFAIR 中,因此范围可能如下所示:
scope :incasesensitive_name, lambda {|name| where('UPPER(name) LIKE ?', "%#{name.upcase}%")}
希望能帮助到你。
以防万一有人需要用 ransack 执行此操作:
ransacker :subject_cs, :formatter => proc {|v| v.downcase }, :splat_param => true, :type => :string do
arel_table[:subject].lower
end