aboutsummaryrefslogtreecommitdiffstats
path: root/activerecord/lib/active_record/associations
diff options
context:
space:
mode:
authorJames Dabbs <jamesdabbs@gmail.com>2015-06-13 18:36:06 -0400
committerJames Dabbs <jamesdabbs@gmail.com>2015-06-13 18:36:06 -0400
commit5a9590c6cbbb4ac26a81ae37088a38778cb12748 (patch)
tree4e8bffd5cf712f324a1bc1d710389d07c7e2056b /activerecord/lib/active_record/associations
parent3692ca5ce7a0dbb11c4001891488905c53fbc5e5 (diff)
downloadrails-5a9590c6cbbb4ac26a81ae37088a38778cb12748.tar.gz
rails-5a9590c6cbbb4ac26a81ae37088a38778cb12748.tar.bz2
rails-5a9590c6cbbb4ac26a81ae37088a38778cb12748.zip
Fix `undefined method uncached` for polymorphic belongs_to #20426
Unitialized polymorphic `belongs_to` associations raise an error while attempting to reload, as they attempt to make an uncached reload, but don't have a klass to fetch uncachedly. In this case, `loaded?` should be `false` anyway.
Diffstat (limited to 'activerecord/lib/active_record/associations')
-rw-r--r--activerecord/lib/active_record/associations/singular_association.rb2
1 files changed, 1 insertions, 1 deletions
diff --git a/activerecord/lib/active_record/associations/singular_association.rb b/activerecord/lib/active_record/associations/singular_association.rb
index 58d0f7d65d..bec9505bd2 100644
--- a/activerecord/lib/active_record/associations/singular_association.rb
+++ b/activerecord/lib/active_record/associations/singular_association.rb
@@ -3,7 +3,7 @@ module ActiveRecord
class SingularAssociation < Association #:nodoc:
# Implements the reader method, e.g. foo.bar for Foo.has_one :bar
def reader(force_reload = false)
- if force_reload
+ if force_reload && klass
klass.uncached { reload }
elsif !loaded? || stale_target?
reload