aboutsummaryrefslogtreecommitdiffstats
path: root/activerecord/test/models
diff options
context:
space:
mode:
authorEugene Kenny <elkenny@gmail.com>2018-11-06 01:51:52 +0000
committerEugene Kenny <elkenny@gmail.com>2018-11-06 01:51:52 +0000
commit65cd0fda2572ac9c78d8582496a9009d0c48df08 (patch)
treea1775a4f7690423034d60e4168501efc45d268f4 /activerecord/test/models
parenta8c06c2d7dfa49a9fede1eec65c1058fe0fac82b (diff)
downloadrails-65cd0fda2572ac9c78d8582496a9009d0c48df08.tar.gz
rails-65cd0fda2572ac9c78d8582496a9009d0c48df08.tar.bz2
rails-65cd0fda2572ac9c78d8582496a9009d0c48df08.zip
Fix inspect with non-primary key id attribute
The `read_attribute` method always returns the primary key when asked to read the `id` attribute, even if the primary key isn't named `id`, and even if another attribute named `id` exists. For the `inspect`, `attribute_for_inspect` and `pretty_print` methods, this behaviour is undesirable, as they're used to examine the internal state of the record. By using `_read_attribute` instead, we'll get the real value of the `id` attribute.
Diffstat (limited to 'activerecord/test/models')
-rw-r--r--activerecord/test/models/topic.rb4
1 files changed, 4 insertions, 0 deletions
diff --git a/activerecord/test/models/topic.rb b/activerecord/test/models/topic.rb
index 4aad6a4498..03430154db 100644
--- a/activerecord/test/models/topic.rb
+++ b/activerecord/test/models/topic.rb
@@ -138,6 +138,10 @@ class BlankTopic < Topic
end
end
+class TitlePrimaryKeyTopic < Topic
+ self.primary_key = :title
+end
+
module Web
class Topic < ActiveRecord::Base
has_many :replies, dependent: :destroy, foreign_key: "parent_id", class_name: "Web::Reply"