Skip to content

Commit 1190d51

Browse files
committed
Fix RailsAdmin::Config.reset didn't clear the effect of previous (included|excluded)_models
Fixes #3305
1 parent 3c10b09 commit 1190d51

3 files changed

Lines changed: 20 additions & 1 deletion

File tree

lib/rails_admin/config.rb

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -292,6 +292,7 @@ def reset
292292
@parent_controller = '::ActionController::Base'
293293
@forgery_protection_settings = {with: :exception}
294294
RailsAdmin::Config::Actions.reset
295+
RailsAdmin::AbstractModel.reset
295296
end
296297

297298
# Reset a provided model's configuration.

spec/rails_admin/config_spec.rb

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -328,6 +328,25 @@ class RecursivelyEmbedsMany
328328
end
329329
end
330330

331+
describe '.reset' do
332+
before do
333+
RailsAdmin.config do |config|
334+
config.included_models = ['Player', 'Team']
335+
end
336+
RailsAdmin::AbstractModel.all
337+
RailsAdmin::Config.reset
338+
RailsAdmin.config do |config|
339+
config.excluded_models = ['Player']
340+
end
341+
end
342+
subject { RailsAdmin::AbstractModel.all.map { |am| am.model.name } }
343+
344+
it 'refreshes the result of RailsAdmin::AbstractModel.all' do
345+
expect(subject).not_to include 'Player'
346+
expect(subject).to include 'Team'
347+
end
348+
end
349+
331350
describe "field types code reloading" do
332351
before { Rails.application.config.cache_classes = false }
333352
after { Rails.application.config.cache_classes = true }

spec/spec_helper.rb

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -100,7 +100,6 @@ def password_digest(password)
100100

101101
DatabaseCleaner.start
102102
RailsAdmin::Config.reset
103-
RailsAdmin::AbstractModel.reset
104103
end
105104

106105
config.after(:each) do

0 commit comments

Comments
 (0)