method
build_relation
v3.2.1 -
Show latest stable
- Class:
ActiveRecord::Validations::UniquenessValidator
build_relation(klass, table, attribute, value)protected
No documentation available.
# File activerecord/lib/active_record/validations/uniqueness.rb, line 55
def build_relation(klass, table, attribute, value) #:nodoc:
column = klass.columns_hash[attribute.to_s]
value = column.limit ? value.to_s.mb_chars[0, column.limit] : value.to_s if column.text?
if !options[:case_sensitive] && value && column.text?
# will use SQL LOWER function before comparison, unless it detects a case insensitive collation
relation = klass.connection.case_insensitive_comparison(table, attribute, column, value)
else
value = klass.connection.case_sensitive_modifier(value)
relation = table[attribute].eq(value)
end
relation
end