Forum: Ruby on Rails route, namespace and admin controllers

Announcement (2017-05-07): is now read-only since I unfortunately do not have the time to support and maintain the forum any more. Please see and for other Rails- und Ruby-related community platforms.
nuno (Guest)
on 2007-06-04 16:15
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

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
/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 ??

MichaelLatta (Guest)
on 2007-06-04 20:29
(Received via mailing list)
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.

This topic is locked and can not be replied to.