Skip to content

Commit 02660cd

Browse files
authored
Merge pull request #55543 from a5-stable/avoid-filter-attribute-for-base
no need for filter_parameters in base model
2 parents 5a4cc7a + 9de8a7c commit 02660cd

File tree

2 files changed

+4
-1
lines changed

2 files changed

+4
-1
lines changed

activerecord/lib/active_record/filter_attribute_handler.rb

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -62,7 +62,7 @@ def collect_for_later(klass, list)
6262

6363
def apply_filter(klass, list)
6464
list.each do |attribute|
65-
next if klass.abstract_class?
65+
next if klass.abstract_class? || klass == Base
6666

6767
klass_name = klass.name ? klass.model_name.element : nil
6868
filter = [klass_name, attribute.to_s].compact.join(".")

railties/test/application/active_record_railtie_test.rb

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -71,6 +71,8 @@ class Message < ActiveRecord::Base
7171
test "filter_parameters are inherited from AR parent classes" do
7272
app "development"
7373

74+
ActiveRecord::Base.filter_attributes += [ "expires_at" ]
75+
7476
class ApplicationRecord < ActiveRecord::Base
7577
self.abstract_class = true
7678
self.filter_attributes += [ "expires_at" ]
@@ -84,6 +86,7 @@ class CreditCard < ApplicationRecord
8486
assert_includes Rails.application.config.filter_parameters, "credit_card.expires_at"
8587
assert_includes Rails.application.config.filter_parameters, "credit_card.digits"
8688
assert_not_includes Rails.application.config.filter_parameters, "application_record.expires_at"
89+
assert_not_includes Rails.application.config.filter_parameters, "base.expires_at"
8790
end
8891
end
8992
end

0 commit comments

Comments
 (0)