aboutsummaryrefslogtreecommitdiffstats
path: root/activerecord/lib/active_record/persistence.rb
diff options
context:
space:
mode:
authorShane Hender <henders@gmail.com>2015-04-24 13:29:33 +0100
committerShane Hender <henders@gmail.com>2015-04-28 18:00:09 +0100
commit95bdb95ad5e311a215535056851682840f96c1b7 (patch)
tree238d36986ada82fb7081b4f69da4134a2bb38010 /activerecord/lib/active_record/persistence.rb
parentb29d794b8cdf59896e668a0f68038dd25228398e (diff)
downloadrails-95bdb95ad5e311a215535056851682840f96c1b7.tar.gz
rails-95bdb95ad5e311a215535056851682840f96c1b7.tar.bz2
rails-95bdb95ad5e311a215535056851682840f96c1b7.zip
Cause ActiveRecord::Base::reload to also ignore the QueryCache.
Diffstat (limited to 'activerecord/lib/active_record/persistence.rb')
-rw-r--r--activerecord/lib/active_record/persistence.rb4
1 files changed, 3 insertions, 1 deletions
diff --git a/activerecord/lib/active_record/persistence.rb b/activerecord/lib/active_record/persistence.rb
index ae1c326d95..689c170127 100644
--- a/activerecord/lib/active_record/persistence.rb
+++ b/activerecord/lib/active_record/persistence.rb
@@ -380,7 +380,7 @@ module ActiveRecord
# # => #<Account id: 1, email: 'account@example.com'>
#
# Attributes are reloaded from the database, and caches busted, in
- # particular the associations cache.
+ # particular the associations cache and the QueryCache.
#
# If the record no longer exists in the database <tt>ActiveRecord::RecordNotFound</tt>
# is raised. Otherwise, in addition to the in-place modification the method
@@ -416,6 +416,8 @@ module ActiveRecord
# end
#
def reload(options = nil)
+ self.class.connection.clear_query_cache
+
fresh_object =
if options && options[:lock]
self.class.unscoped { self.class.lock(options[:lock]).find(id) }