diff options
author | Santiago Pastorino <santiago@wyeworks.com> | 2016-02-21 21:53:32 -0300 |
---|---|---|
committer | Santiago Pastorino <santiago@wyeworks.com> | 2016-02-21 21:53:32 -0300 |
commit | f48d271206fbc99ba381666308201ebb06cc307f (patch) | |
tree | fc665ac775c03f2d713190f913beca4e0bd13c23 /activerecord/lib | |
parent | e8d58bb29968f96661f2047f85416cd70748bf84 (diff) | |
parent | 8a4c3286f7d18628e26a8f3609c00b8a42e695b7 (diff) | |
download | rails-f48d271206fbc99ba381666308201ebb06cc307f.tar.gz rails-f48d271206fbc99ba381666308201ebb06cc307f.tar.bz2 rails-f48d271206fbc99ba381666308201ebb06cc307f.zip |
Merge pull request #23803 from kamipo/reduce_attribute_to_s
Reduce `attribute.to_s`
Diffstat (limited to 'activerecord/lib')
-rw-r--r-- | activerecord/lib/active_record/validations/uniqueness.rb | 11 |
1 files changed, 5 insertions, 6 deletions
diff --git a/activerecord/lib/active_record/validations/uniqueness.rb b/activerecord/lib/active_record/validations/uniqueness.rb index f0aa4521b5..88c272657f 100644 --- a/activerecord/lib/active_record/validations/uniqueness.rb +++ b/activerecord/lib/active_record/validations/uniqueness.rb @@ -57,14 +57,13 @@ module ActiveRecord value = value.attributes[reflection.klass.primary_key] unless value.nil? end - attribute_name = attribute.to_s - # the attribute may be an aliased attribute - if klass.attribute_aliases[attribute_name] - attribute = klass.attribute_aliases[attribute_name] - attribute_name = attribute.to_s + if klass.attribute_alias?(attribute) + attribute = klass.attribute_alias(attribute) end + attribute_name = attribute.to_s + column = klass.columns_hash[attribute_name] cast_type = klass.type_for_attribute(attribute_name) value = cast_type.serialize(value) @@ -82,7 +81,7 @@ module ActiveRecord if value.nil? klass.unscoped.where(comparison) else - bind = Relation::QueryAttribute.new(attribute.to_s, value, Type::Value.new) + bind = Relation::QueryAttribute.new(attribute_name, value, Type::Value.new) klass.unscoped.where(comparison, bind) end rescue RangeError |