This project is archived and is in readonly mode.

#642 ✓stale
MatthewRudy

[BUG] Routes matching a :controller /regexp/ raise NameError

Reported by MatthewRudy | July 17th, 2008 @ 01:39 PM | in 2.x

#admin controller routes
map.connect ':controller/:action/:id', :requirements => { :controller => /admin[\/]?[\w\d]*/ }

GET /admin/doesnt_exist

will raise a NameError

when it tries to do,

"Admin::DoesntExistController".constantize

and hence we get a 500 error.

Really we want this exception to be caught,

and fall through to the next level,

and eventually hit a RoutingError

and a 404.

Had a look at the routing code,

but haven't quite worked out how to fix it.

Comments and changes to this ticket

  • MatthewRudy

    MatthewRudy July 17th, 2008 @ 01:40 PM

     NameError in Admin/doesnt existController#index
    
    uninitialized constant Admin::DoesntExistController
    
    RAILS_ROOT: /Users/matthew/code/aspire
    Application Trace | Framework Trace | Full Trace
    
    vendor/rails/activesupport/lib/active_support/dependencies.rb:263:in `load_missing_constant'
    vendor/rails/activesupport/lib/active_support/dependencies.rb:453:in `const_missing'
    vendor/rails/activesupport/lib/active_support/inflector.rb:260:in `constantize'
    vendor/rails/activesupport/lib/active_support/core_ext/string/inflections.rb:151:in `constantize'
    vendor/rails/actionpack/lib/action_controller/routing.rb:1426:in `recognize'
    vendor/rails/actionpack/lib/action_controller/dispatcher.rb:170:in `handle_request'
    vendor/rails/actionpack/lib/action_controller/dispatcher.rb:115:in `dispatch'
    vendor/rails/actionpack/lib/action_controller/dispatcher.rb:126:in `dispatch_cgi'
    vendor/rails/actionpack/lib/action_controller/dispatcher.rb:9:in `dispatch'
    /Library/Ruby/Gems/1.8/gems/mongrel-1.1.5/lib/mongrel/rails.rb:76:in `process'
    /Library/Ruby/Gems/1.8/gems/mongrel-1.1.5/lib/mongrel/rails.rb:74:in `synchronize'
    /Library/Ruby/Gems/1.8/gems/mongrel-1.1.5/lib/mongrel/rails.rb:74:in `process'
    /Library/Ruby/Gems/1.8/gems/mongrel-1.1.5/lib/mongrel.rb:159:in `process_client'
    /Library/Ruby/Gems/1.8/gems/mongrel-1.1.5/lib/mongrel.rb:158:in `each'
    /Library/Ruby/Gems/1.8/gems/mongrel-1.1.5/lib/mongrel.rb:158:in `process_client'
    /Library/Ruby/Gems/1.8/gems/mongrel-1.1.5/lib/mongrel.rb:285:in `run'
    /Library/Ruby/Gems/1.8/gems/mongrel-1.1.5/lib/mongrel.rb:285:in `initialize'
    /Library/Ruby/Gems/1.8/gems/mongrel-1.1.5/lib/mongrel.rb:285:in `new'
    /Library/Ruby/Gems/1.8/gems/mongrel-1.1.5/lib/mongrel.rb:285:in `run'
    /Library/Ruby/Gems/1.8/gems/mongrel-1.1.5/lib/mongrel.rb:268:in `initialize'
    /Library/Ruby/Gems/1.8/gems/mongrel-1.1.5/lib/mongrel.rb:268:in `new'
    /Library/Ruby/Gems/1.8/gems/mongrel-1.1.5/lib/mongrel.rb:268:in `run'
    /Library/Ruby/Gems/1.8/gems/mongrel-1.1.5/lib/mongrel/configurator.rb:282:in `run'
    /Library/Ruby/Gems/1.8/gems/mongrel-1.1.5/lib/mongrel/configurator.rb:281:in `each'
    /Library/Ruby/Gems/1.8/gems/mongrel-1.1.5/lib/mongrel/configurator.rb:281:in `run'
    /Library/Ruby/Gems/1.8/gems/mongrel-1.1.5/bin/mongrel_rails:128:in `run'
    /Library/Ruby/Gems/1.8/gems/mongrel-1.1.5/lib/mongrel/command.rb:212:in `run'
    /Library/Ruby/Gems/1.8/gems/mongrel-1.1.5/bin/mongrel_rails:281
    

    (from rails 2.0.2, similar traceback from edge)

  • josh

    josh October 28th, 2008 @ 04:26 PM

    • State changed from “new” to “stale”

    Staling out, please reopen if this is still a problem.

Create your profile

Help contribute to this project by taking a few moments to create your personal profile. Create your profile »

<h2 style="font-size: 14px">Tickets have moved to Github</h2>

The new ticket tracker is available at <a href="https://github.com/rails/rails/issues">https://github.com/rails/rails/issues</a>

People watching this ticket

Tags

Pages