Hello. I’m adding an admin section to my site and have configured
routing along the following lines:
map.connect ‘admin/:controller/:action/:id’
The above works fine. However, if I have controller ‘A’, it is still
accessible from http://mysite.com/A due to the
default :controller/:action/:id route. I’d rather not have two URIs
mapped to the same page and am wondering if there is a way to exclude
a controller from a route or to alter the path to
00server.com -- $0 setup fee and $0 monthly fee, free web page, free domain name, web site design, free web space, web page design, free web hosting, free e-mail, free web site, free web site hosting
when a user visits http://mysite.com/A. As of now, my only solution
is to remove the :controller/:action/:id route, but this means I would
have to map routes for every controller I want accessible at my
webroot which is kind of a pain and doesn’t seem very rails like.
Thanks.
I don’t know the solution to what you are asking about excluding
controllers.
I think the namespacing of controllers has been discussed before and
some people like it some people don’t.
Name your admin controllers Admin::AdminTestController and place them
in admin/admin_test_controller.rb
script/generate controller Admin::AdminTestController
This can then be accessed with admin/admin_test without modifying the
stock routes.
That should solve your problem if I read your post correctly.
I’m assuming you have some sort of authentication too, that could be
used to restrict access to the controllers except for admin users.
Fredrik
thelorax wrote:
The above works fine. However, if I have controller ‘A’, it is still
accessible from http://mysite.com/A due to the
default :controller/:action/:id route. I’d rather not have two URIs
mapped to the same page and am wondering if there is a way to exclude
a controller from a route or to alter the path to http://mysite.com/admin/A
when a user visits http://mysite.com/A.
you can use the :requirements param of the route, so you can match
:controller against a regexp. If the pattern is not matched, then the
route will not be recognized for that request
regards,
javier ramirez
–
Estamos de estreno… si necesitas llevar el control de tus gastos
visita http://www.gastosgem.com !!Es gratis!!
Thanks. Both the Admin::Controller and the :requirements option look
like they might work for me.