Sequel ruby验证了_的唯一性,不区分大小写

Sequel ruby验证了_的唯一性,不区分大小写,ruby,validation,sequel,Ruby,Validation,Sequel,我尝试使用Sequel ORM验证耦合(:name和:type)的唯一性: def validate super validates_unique [:name, :type] end 但Sequel默认为区分大小写。我如何用不区分大小写的方法验证它(不关心upcase或downcase)?与ActiveRecord类似: 验证:name的唯一性,:区分大小写=>false不太好,但是: 不太好,但是: 谢谢,我甚至可以验证多列:validates_unique[:ty

我尝试使用Sequel ORM验证耦合(:name和:type)的唯一性:

def validate
    super    
    validates_unique [:name, :type]
end
但Sequel默认为区分大小写。我如何用不区分大小写的方法验证它(不关心upcase或downcase)?与ActiveRecord类似:

验证:name的唯一性,:区分大小写=>false

不太好,但是:

不太好,但是:


谢谢,我甚至可以验证多列:
validates_unique[:type,:name]
谢谢,我甚至可以验证多列:
validates_unique[:type,:name]
   # If you want to do a case insensitive uniqueness validation on a database that
   # is case sensitive by default, you can use:

   validates_unique :column, :where=>(proc do |ds, obj, cols|
     ds.where(cols.map do |c|
       v = obj.send(c)
       v = v.downcase if v
       [Sequel.function(:lower, c), v]
     end)
   end)