diff options
author | Prathamesh Sonpatki <csonpatki@gmail.com> | 2016-09-16 19:21:56 +0530 |
---|---|---|
committer | Prathamesh Sonpatki <csonpatki@gmail.com> | 2016-12-08 23:59:10 +0530 |
commit | 9cbf54c81a46cc070f3997956c12915f39dbb46b (patch) | |
tree | 37f46f943cfa46866cd654cc7d60f043f08d0e96 /activerecord/lib/active_record | |
parent | 17b09f4fca976063187be6494e64430850c37632 (diff) | |
download | rails-9cbf54c81a46cc070f3997956c12915f39dbb46b.tar.gz rails-9cbf54c81a46cc070f3997956c12915f39dbb46b.tar.bz2 rails-9cbf54c81a46cc070f3997956c12915f39dbb46b.zip |
Check whether the current attribute being read is aliased or not before reading
- If aliased, then use the aliased attribute name.
- Fixes #26417.
Diffstat (limited to 'activerecord/lib/active_record')
-rw-r--r-- | activerecord/lib/active_record/attribute_methods/read.rb | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/activerecord/lib/active_record/attribute_methods/read.rb b/activerecord/lib/active_record/attribute_methods/read.rb index 30f7750884..5448ebc165 100644 --- a/activerecord/lib/active_record/attribute_methods/read.rb +++ b/activerecord/lib/active_record/attribute_methods/read.rb @@ -48,7 +48,12 @@ module ActiveRecord # it has been typecast (for example, "2004-12-12" in a date column is cast # to a date object, like Date.new(2004, 12, 12)). def read_attribute(attr_name, &block) - name = attr_name.to_s + name = if self.class.attribute_alias?(attr_name) + self.class.attribute_alias(attr_name).to_s + else + attr_name.to_s + end + name = self.class.primary_key if name == "id".freeze _read_attribute(name, &block) end |