diff --git a/activerecord/lib/active_record/scoping/named.rb b/activerecord/lib/active_record/scoping/named.rb index 46cfb2ea21..d1bf4bdead 100644 --- a/activerecord/lib/active_record/scoping/named.rb +++ b/activerecord/lib/active_record/scoping/named.rb @@ -199,7 +199,7 @@ module ActiveRecord private def singleton_method_added(name) - generate_relation_method(name) if Kernel.respond_to?(name) + generate_relation_method(name) if Kernel.respond_to?(name) && !ActiveRecord::Relation.method_defined?(name) end def valid_scope_name?(name) diff --git a/activerecord/test/models/reply.rb b/activerecord/test/models/reply.rb index 074a51f3df..49536a02e1 100644 --- a/activerecord/test/models/reply.rb +++ b/activerecord/test/models/reply.rb @@ -10,9 +10,14 @@ class Reply < Topic scope :ordered, -> { Reply.order(:id) } + # Method on Kernel def self.open approved end + + # Methods both on Kernel and Relation + def self.load(data:); end + def self.select(data:); end end class SillyReply < Topic