Forum: Ruby on Rails route, namespace and admin controllers

Announcement (2017-05-07): www.ruby-forum.com is now read-only since I unfortunately do not have the time to support and maintain the forum any more. Please see rubyonrails.org/community and ruby-lang.org/en/community for other Rails- und Ruby-related community platforms.
Eb2c5bf45b4a4749a19d5a1401855d90?d=identicon&s=25 nuno (Guest)
on 2007-06-04 14: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
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
588ab1c0a5610a7e160a3b101abb91e6?d=identicon&s=25 MichaelLatta (Guest)
on 2007-06-04 18: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.

Michael
This topic is locked and can not be replied to.