# Route, namespace and admin controllers

**URL:** <https://www.ruby-forum.com/t/route-namespace-and-admin-controllers/105898>\
**Category:** Rails\
**Created:** [June 4, 2007, 2:15pm UTC](https://www.ruby-forum.com/t/route-namespace-and-admin-controllers/105898 "2007-06-04T14:15:29Z")\
**Posts on this page:** 2\
**Page:** 1

<div class="post-metadata">

**Author:** ![nuno](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/n/65b543/32.png) [@nuno](https://www.ruby-forum.com/u/nuno)\
**Post date:** [June 4, 2007, 2:15pm UTC](https://www.ruby-forum.com/t/route-namespace-and-admin-controllers/105898/1 "2007-06-04T14:15:29Z")

</div>

Hi, I’ve created my own locale handling system with the following route  
added in routes.rb :  
map.connect ‘:locale/:controller/:action/:id’

Works fine.

Then, I’ve added Admin namespace for all the backoffice controllers  
app/controller/admin/

Then I’ve added this route to routes.rb  
map.connect ‘/admin/:controller/:action/:id’

With this setup, all the functional test runs fine for admin and  
non-admin controllers, with locale beeing taken in account only for non  
admin controllers.

But with webrick (restarted after every routes.rb modification) I need  
to  
/en/admin/news to reach the Admin::news controller  
instead of (you might guess)  
/admin/news which produce a  
no route found to match “/admin/news” with {:method=\>:get}

I must be wrong, but where ??

Thanks

---

<div class="post-metadata">

**Author:** ![nuno](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/n/65b543/32.png) [@nuno](https://www.ruby-forum.com/u/nuno)\
**Post date:** [June 4, 2007, 6:29pm UTC](https://www.ruby-forum.com/t/route-namespace-and-admin-controllers/105898/2 "2007-06-04T18:29:06Z")

</div>

In your example with WEBrick /admin/news will look for a controller  
at /app/controllers/news\_controller.rb. Having the static “/admin”  
does not affect where it looks for the controller. Your tests run  
because they are relative to the path for the test. Your controller  
value should be “admin/news” given your directory structure. I am not  
sure how to construct a route that would contain a slash however.

Michael
