Routes problem


#1

Hello,

Just a single problem i can’t solve. The scenario…

I have a controller called “places” but i don’t want to link the users
to /places/whatever, i want something like /no/whatever. How to
achieve this?

I have in my routes.rb:

map.resources :no, :controller => “places”,

map.connect ‘:controller/:action/:id’
map.connect ‘:controller/:action/:id.:format’

My problem is that i don’t want to have 2 urls pointing to the same
page. If I type “/places/whatever” i got the same as if i type “/no/
whatever”

Thanks in advance.


#2

On Oct 13, 10:30 am, gdiazl removed_email_address@domain.invalid wrote:

map.resources :no, :controller => “places”,

map.connect ‘:controller/:action/:id’
map.connect ‘:controller/:action/:id.:format’

My problem is that i don’t want to have 2 urls pointing to the same
page. If I type “/places/whatever” i got the same as if i type “/no/
whatever”

/places/whatever is going to be there because of the default routes
above: ie
map.connect ':controller/:action/:id
You probably don’t want to mess with that setting either.

If you really want to use /places/ for something else, then
you’d
need to put a new rule in above the default rules to override them;
something like:
map.connect ‘places/:action/:id’ , :controller =>
‘some_other_controller’
Seems unlikely you’d want to do that.
So, I think living with the two routes isn’t a problem.

If you really wanted to shut it off, I guess you could have
‘some_other_controller’ send back an http status of 500 or something.
map.connect ‘places’ , :controller =>
‘some_other_controller’ , :action => ‘warn’

I defer to a routing expert though.

Daniel