7c95be54b4
In development mode, dependencies are loaded dynamically at runtime, using `const_missing`. Because of that, when one of the constants is already loaded and `const_missing` is not triggered, user can end up with unexpected results. Given such file in an Engine: ```ruby module Blog class PostsController < ApplicationController end end ``` If you load it first, before loading any application files, it will correctly load `Blog::ApplicationController`, because second line will hit `const_missing`. However if you load `ApplicationController` first, the constant will be loaded already, `const_missing` hook will not be fired and in result `PostsController` will inherit from `ApplicationController` instead of `Blog::ApplicationController`. Since it can't be fixed in `AS::Dependencies`, the easiest fix is to just explicitly load application controller. closes #6413 |
||
---|---|---|
.. | ||
application | ||
commands | ||
fixtures | ||
generators | ||
isolation | ||
queueing | ||
railties | ||
abstract_unit.rb | ||
backtrace_cleaner_test.rb | ||
engine_test.rb | ||
generators_test.rb | ||
initializable_test.rb | ||
paths_test.rb | ||
rails_info_controller_test.rb | ||
rails_info_test.rb | ||
script_rails_loader_test.rb |