2011-07-20 23 views
9

necesito una explicación acerca de cómo crear una nueva ruta en los carriles 3. Quiero este enlace, por ejemplorails 3: ¿Cómo crear un camino?

link_to "eat chocolate", eat_chocolate_user_path(user) 

ser iguales a

link_to "eat chocolate", :controller => 'user', :action=>'eat_chocolate', :id=> user 

leí muchas guías sobre ello, incluyendo el enrutamiento de railsguide. Pero todavía no sé cómo funciona exactamente.

Respuesta

9

agregue la siguiente línea a su archivo routes.rb.

match 'user/eat_chocolate/:id' => 'user#eat_chocolate', :as => :eat_chocolate_user 

Busque rutas con nombre para obtener más información.

+0

Gracias, yo era capaz de crear rutas con éxito, pero he podido darle un nombre. – perello

+0

El nombre de la ruta se especifica con el parámetro: como. Por lo tanto, lo anterior debería haber creado eat_chocolate_user_path para usted. ¿Eso no está funcionando para ti? –

2

En algunos casos, será mejor utilizar GET.

Usando match aceptará todos los verbos HTTP GETPUTPOSTDELETE lo que significa que alguien podría potencialmente mal uso de la aplicación. Si todo lo que está haciendo está mostrando algo en una acción #show, se debe utilizar esto en vez

get 'user/eat_chocolate/:id' => 'user#eat_chocolate', :as => :eat_chocolate_user