Reescribir url

Saludos

Tengo la home (el profile) de unos usuarios en el controlador user
es decir

http://127.0.0.1:3000/user/user1
http://127.0.0.1:3000/user/user2

En routes.rb :
map.connect ‘user/:screen_name’, :controller => ‘user’, :action =>
‘show’
map.connect ‘user/show/:screen_name’, :controller => ‘user’, :action
=> ‘show’

El problema ha venido cuando intento generar un enlace
<%= link_to( image_tag(“avatar.jpg”, :border=>0),
:controller=>“user”, :action=>“show”, :id=>user) %>
me genera la url de la siguiente manera
http://127.0.0.1:3000/user/show/user2
que funciona perfectamente, pero me gustaria que desapareciera de la
url el show (por estetica)
si no pongo el :action=>show en su lugar me inserta un /index/ que no
es correcto.

Alguien se le ocurre como rescribir una url?
pasar de http://127.0.0.1:3000/user/show/user2 a
http://127.0.0.1:3000/user/user2 ?

Gracias

map.connect ‘user/:screen_name’, :controller => ‘user’, :action =>
‘show’

2008/2/18 trancos asd [email protected]:

Miguel
Gracias por responder, pero esta linea ya le tenia añadida en el routes.

2008/2/18 Miguel M. [email protected]:

ojo , tenias esto
map.connect ‘user/show/:screen_name’, :controller => ‘user’, :action
=>
‘show’

yo te puse esto

map.connect ‘user/:screen_name’, :controller => ‘user’, :action =>
‘show’

notas la diferencia?

On Feb 18, 2008 7:16 PM, Miguel M. [email protected]
wrote:

notas la diferencia?

Si, tengo puesto las 2 lineas en el routes, en un principio tenia
puesta solo una (la que me has pegado), pero tuve que añadir
la segunda linea porque sino el show me lo cogia como si fuera un
usuario.
En routes.rb :
map.connect ‘user/:screen_name’, :controller => ‘user’, :action
=> ‘show’
map.connect ‘user/show/:screen_name’, :controller => ‘user’,
:action => ‘show’

On Feb 18, 2008 3:22 PM, trancos asd [email protected] wrote:

notas la diferencia?

Si, tengo puesto las 2 lineas en el routes, en un principio tenia
puesta solo una (la que me has pegado), pero tuve que añadir
la segunda linea porque sino el show me lo cogia como si fuera un usuario.
En routes.rb :
map.connect ‘user/:screen_name’, :controller => ‘user’, :action => ‘show’
map.connect ‘user/show/:screen_name’, :controller => ‘user’,
:action => ‘show’

Igual no deberias usar connect y si usar named routes:

map.user_show ‘user/:screen_name’, :controller => ‘user’, :action =>
‘show’

Y usar:
user_show_path(user)

El uso de connect esta bastante devaluado ya.

Igual no deberias usar connect y si usar named routes:

map.user_show ‘user/:screen_name’, :controller => ‘user’, :action => ‘show’

Y usar:
user_show_path(user)

Perfecto!!! era eso!!!

Muchas gracias!!