aboutsummaryrefslogtreecommitdiffstats
path: root/activerecord/lib/active_record/relation.rb
diff options
context:
space:
mode:
authorRyuta Kamizono <kamipo@gmail.com>2017-07-18 10:22:05 +0900
committerRyuta Kamizono <kamipo@gmail.com>2017-07-19 00:50:40 +0900
commitd13f54d50a166d49c683f79d49341185788faed8 (patch)
tree14468a7ece9ce1bfcc4aa06c027a50f722146170 /activerecord/lib/active_record/relation.rb
parent58c567adaeba1208522640e7890db9e07cbb768a (diff)
downloadrails-d13f54d50a166d49c683f79d49341185788faed8.tar.gz
rails-d13f54d50a166d49c683f79d49341185788faed8.tar.bz2
rails-d13f54d50a166d49c683f79d49341185788faed8.zip
Fix unscoping `default_scope` in STI associations
Since 5c71000, it has lost to be able to unscope `default_scope` in STI associations. This change will use `.empty_scope?` instead of `.values.empty?` to regard as an empty scope if only have `type_condition`.
Diffstat (limited to 'activerecord/lib/active_record/relation.rb')
-rw-r--r--activerecord/lib/active_record/relation.rb4
1 files changed, 4 insertions, 0 deletions
diff --git a/activerecord/lib/active_record/relation.rb b/activerecord/lib/active_record/relation.rb
index c5d98e970a..d9e1e5c39c 100644
--- a/activerecord/lib/active_record/relation.rb
+++ b/activerecord/lib/active_record/relation.rb
@@ -642,6 +642,10 @@ module ActiveRecord
"#<#{self.class.name} [#{entries.join(', ')}]>"
end
+ def empty_scope? # :nodoc:
+ @values == klass.unscoped.values
+ end
+
protected
def load_records(records)