diff --git a/activerecord/lib/active_record/core.rb b/activerecord/lib/active_record/core.rb index cd7558f9c2..63f01e378a 100644 --- a/activerecord/lib/active_record/core.rb +++ b/activerecord/lib/active_record/core.rb @@ -765,8 +765,8 @@ module ActiveRecord raise ArgumentError, "The :mode option must be one of [:all, :n_plus_one_only]." end - @strict_loading = value @strict_loading_mode = mode + @strict_loading = value end # Returns +true+ if the record uses strict_loading with +:n_plus_one_only+ mode enabled. diff --git a/activerecord/test/cases/strict_loading_test.rb b/activerecord/test/cases/strict_loading_test.rb index 3ea04ae1d3..78ac69d15d 100644 --- a/activerecord/test/cases/strict_loading_test.rb +++ b/activerecord/test/cases/strict_loading_test.rb @@ -19,19 +19,22 @@ class StrictLoadingTest < ActiveRecord::TestCase developer = Developer.first assert_not_predicate developer, :strict_loading? - developer.strict_loading! + assert developer.strict_loading! assert_predicate developer, :strict_loading? assert_raises ActiveRecord::StrictLoadingViolationError do developer.audit_logs.to_a end - developer.strict_loading!(false) + assert_not developer.strict_loading!(false) assert_not_predicate developer, :strict_loading? assert_nothing_raised do developer.audit_logs.to_a end + + assert developer.strict_loading!(mode: :n_plus_one_only) + assert developer.strict_loading_n_plus_one_only? end def test_strict_loading_n_plus_one_only_mode