3

我在我的 Rails 项目中使用 meta_search gem。该数据库是 Oracle 数据库,“like”区分大小写。有人知道我如何创建一个新条件或其他东西来获取这样的查询:

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

2 回答 2

1

meta_search 方法类- 前两个代码示例。: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

以防万一有人需要用 ransack 执行此操作:

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 回答