Sequel ruby验证了_的唯一性,不区分大小写
我尝试使用Sequel ORM验证耦合(:name和:type)的唯一性: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
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)