diff options
author | Pedro Padron <ppadron@w3p.com.br> | 2012-10-30 15:29:47 -0200 |
---|---|---|
committer | Carlos Antonio da Silva <carlosantoniodasilva@gmail.com> | 2012-12-18 08:35:03 -0200 |
commit | ba98dad113c494ac7a3c09abf16044fce4c0ef5e (patch) | |
tree | c04f2d67a47e5ee015a2c71a96e08a9daf9aa003 /activerecord/lib | |
parent | c3e573db54c55c4e4ac694940c6d2f5b42b6155b (diff) | |
download | rails-ba98dad113c494ac7a3c09abf16044fce4c0ef5e.tar.gz rails-ba98dad113c494ac7a3c09abf16044fce4c0ef5e.tar.bz2 rails-ba98dad113c494ac7a3c09abf16044fce4c0ef5e.zip |
Added support for validates_uniqueness_of in PostgreSQL array columns. Fixes: #8075.
Diffstat (limited to 'activerecord/lib')
-rw-r--r-- | activerecord/lib/active_record/validations/uniqueness.rb | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/activerecord/lib/active_record/validations/uniqueness.rb b/activerecord/lib/active_record/validations/uniqueness.rb index 5fa6a0b892..f27fc78717 100644 --- a/activerecord/lib/active_record/validations/uniqueness.rb +++ b/activerecord/lib/active_record/validations/uniqueness.rb @@ -71,7 +71,12 @@ module ActiveRecord end column = klass.columns_hash[attribute.to_s] - value = column.limit ? value.to_s[0, column.limit] : value.to_s if !value.nil? && column.text? + + if !value.nil? && column.text? && column.limit + value = value.to_s[0, column.limit] + else + value = klass.connection.type_cast(value, column) + end if !options[:case_sensitive] && value && column.text? # will use SQL LOWER function before comparison, unless it detects a case insensitive collation |