title: Where is the priority for controller paths set in mountable but not isolated Rails::Engine's?
body: <p>I'm building an application that has a mountable but not isolated rails engine located at APP/sites/my_engine/.  My understanding of a typical request with this setup looks like this:</p>
  
  <ol>
  <li>A request goes through the Main App's middleware stack.</li>
  <li>The request hit's the Main App's router, and matches the mounted path.  It places the mounted part in:  env["SCRIPT_NAME"] and sends the request on through the Engine.</li>
  <li>The request goes through the Engine's middleware stack.</li>
  <li>The request hit's the Engine's router and matches the remaining portion of the route.</li>
  </ol>
  
  <p>Let's say that the route matches in the engine's routes and dispatches to a pages#show action.  A controller will be called with the following priority:</p>
  
  <ol>
  <li>If a PagesController exists with the show action in the main app it will call this first.</li>
  <li>If a PagesController exists with the show action in the engine it will call this second only if the first did not exist.</li>
  </ol>
  
  <p>If you look at MyEngine::Engine.paths['app/controllers'] it is the default ["app/controllers"]..which in this context is the engine.  So why does it find the App's controller first? </p>
  
  <p>Where is this priority of paths for controllers controlled?</p>