Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Unable to autoload constant Base #472

Open
sergiogomez opened this issue Dec 10, 2018 · 3 comments
Open

Unable to autoload constant Base #472

sergiogomez opened this issue Dec 10, 2018 · 3 comments

Comments

@sergiogomez
Copy link

This issue was originally reported at activeadmin/activeadmin#2908

Current workarounds (from the engine) are:

  • Rename Base classes
  • Add an empty Base class
class Base
end

module MyCustomEngine
  class Engine < ::Rails::Engine

I guess it could be fixed rescuing NameError, LoadError at method initialize_resources_class_accessors! from inherited_resources/lib/inherited_resources/class_methods.rb (as done at #416)

@brianjlandau
Copy link

I ran into this trying to get activeadmin and activeadmin-mongoid to work. I put this in my config/application.rb:

module AppName
  class Application < Rails::Application
    initializer :load_inherited_resources_base, before: 'active_admin.mongoid.resource_controller' do
      require 'application_helper'
      require 'devise_helper'
      require 'preview_helper'
      require 'application_controller'
      ir_gem_path = Bundler.rubygems.find_name('inherited_resources').first.full_gem_path
      require "#{ir_gem_path}/app/controllers/inherited_resources/base"
    end
  end
end

Hopefully anyone looking for a solution to this finds this 🥳

@maximevaillancourt
Copy link

I'm running into this, though very intermittently / randomly, and I'm struggling to reproduce the exception.

It seems like there are two associated exceptions in my case (one shadows the other):

  • uninitialized constant InheritedResources::Actions
  • uninitialized constant InheritedResources::Base

In case others see this too, here are two very similar issues that discuss this kind of problem (which seems related to Ruby's autoload):

@istana
Copy link

istana commented Oct 18, 2024

I was able to fix this error by using Rails.application.config.to_prepare in Rails with Zeitwerk:

initializer :active_admin_setup do
  Rails.application.config.to_prepare do
    ....
  end
end

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

4 participants