> I have two controllers, SomeController and Admin::SomeController. When
> SomeController is loaded first (which happens under spork, found out
> by editing ActiveSupport::AbstractController) I get warning: toplevel
> constant SomeController referenced by Admin::SomeController and the
> second controller is not loaded. The first controller is polluting
> something for the namespaced controller.
Is Admin a class or a module? If it's a class it's due to the fact that const_missing searches for constants in ancestors which includes Object when Admin is a class. Since SomeController is defined already in Object it will return that constant along with the warning message. If Admin is a module then the ancestor list is just itself.
A couple of ways to workaround the problem, either make Admin a module if possible or nest the public-facing controllers under a different namespace, e.g. Admin::SomeController and Front::SomeController.