aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorEmilio Tagua <miloops@gmail.com>2010-10-14 15:09:44 -0300
committerEmilio Tagua <miloops@gmail.com>2010-11-19 19:08:42 -0300
commit96cc08f24b0d1576573e09500faa4a9fd106f44e (patch)
treea07b794a04da83acc2f0a8e76e9d68d500d6f85b
parent0873d1e944147b0f4b15e742fa9df0776a024d51 (diff)
downloadrails-96cc08f24b0d1576573e09500faa4a9fd106f44e.tar.gz
rails-96cc08f24b0d1576573e09500faa4a9fd106f44e.tar.bz2
rails-96cc08f24b0d1576573e09500faa4a9fd106f44e.zip
Check if constant is defined in AR, if not this can cause errors when using polymorphic associations.
-rw-r--r--activerecord/lib/active_record/associations/association_proxy.rb2
1 files changed, 1 insertions, 1 deletions
diff --git a/activerecord/lib/active_record/associations/association_proxy.rb b/activerecord/lib/active_record/associations/association_proxy.rb
index 52cb164550..cb8d8b4a7b 100644
--- a/activerecord/lib/active_record/associations/association_proxy.rb
+++ b/activerecord/lib/active_record/associations/association_proxy.rb
@@ -254,7 +254,7 @@ module ActiveRecord
return nil unless defined?(@loaded)
if !loaded? and (@owner.persisted? || foreign_key_present)
- if IdentityMap.enabled? && defined?(@reflection.klass)
+ if IdentityMap.enabled? && ActiveRecord.const_defined?(@reflection.class_name)
@target = IdentityMap.get(@reflection.klass, @owner[@reflection.association_foreign_key])
end
@target ||= find_target