aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorEmilio Tagua <miloops@gmail.com>2010-11-18 11:29:13 -0300
committerEmilio Tagua <miloops@gmail.com>2010-11-19 19:09:00 -0300
commit1d530e23e52d36aa46707ed12f51f8c2f990a849 (patch)
tree29d4c6ea6a8a64629b054852b84e97bfa8d42c6f
parent54f924c313f4f2050549665ca608172a4564abab (diff)
downloadrails-1d530e23e52d36aa46707ed12f51f8c2f990a849.tar.gz
rails-1d530e23e52d36aa46707ed12f51f8c2f990a849.tar.bz2
rails-1d530e23e52d36aa46707ed12f51f8c2f990a849.zip
We have to check object class to avoid issues when using STI.
-rw-r--r--activerecord/lib/active_record/identity_map.rb3
1 files changed, 2 insertions, 1 deletions
diff --git a/activerecord/lib/active_record/identity_map.rb b/activerecord/lib/active_record/identity_map.rb
index 47ba3acf32..70ea08ee43 100644
--- a/activerecord/lib/active_record/identity_map.rb
+++ b/activerecord/lib/active_record/identity_map.rb
@@ -42,7 +42,8 @@ module ActiveRecord
end
def get(klass, primary_key)
- repository[klass.symbolized_base_class][primary_key]
+ obj = repository[klass.symbolized_base_class][primary_key]
+ obj.is_a?(klass) ? obj : nil
end
def add(record)