diff options
Diffstat (limited to 'activerecord')
| -rw-r--r-- | activerecord/lib/active_record/core.rb | 3 | ||||
| -rw-r--r-- | activerecord/lib/active_record/scoping/default.rb | 4 | 
2 files changed, 4 insertions, 3 deletions
diff --git a/activerecord/lib/active_record/core.rb b/activerecord/lib/active_record/core.rb index b97b14644e..481159e501 100644 --- a/activerecord/lib/active_record/core.rb +++ b/activerecord/lib/active_record/core.rb @@ -277,7 +277,8 @@ module ActiveRecord            relation = Relation.create(self, arel_table, predicate_builder)            if finder_needs_type_condition? && !ignore_default_scope? -            relation.where(type_condition).create_with(inheritance_column.to_s => sti_name) +            relation.where!(type_condition) +            relation.create_with!(inheritance_column.to_s => sti_name)            else              relation            end diff --git a/activerecord/lib/active_record/scoping/default.rb b/activerecord/lib/active_record/scoping/default.rb index 86ae374318..8c612df27a 100644 --- a/activerecord/lib/active_record/scoping/default.rb +++ b/activerecord/lib/active_record/scoping/default.rb @@ -111,7 +111,7 @@ module ActiveRecord                # The user has defined their own default scope method, so call that                evaluate_default_scope do                  if scope = default_scope -                  (base_rel ||= relation).merge(scope) +                  (base_rel ||= relation).merge!(scope)                  end                end              elsif default_scopes.any? @@ -119,7 +119,7 @@ module ActiveRecord                evaluate_default_scope do                  default_scopes.inject(base_rel) do |default_scope, scope|                    scope = scope.respond_to?(:to_proc) ? scope : scope.method(:call) -                  default_scope.merge(base_rel.instance_exec(&scope)) +                  default_scope.merge!(base_rel.instance_exec(&scope))                  end                end              end  | 
