Senderos bonitos en rieles

Tengo un modelo de categoría y lo estoy enrutando usando el andamiaje predeterminado deresources :categories. Me pregunto si hay una manera de cambiar los caminos de/category/:id a/category/:name. Yo añadí:

match "/categories/:name" => "categories#show"

por encima de la línea de recursos enroutes.rb y cambió elshow acción en el controlador para hacer:

@category = Category.find_by_name(params[:name])

funciona, pero los 'caminos mágicos' comolink_to some_category todavía uso el:id formato.

¿Hay alguna forma de hacer esto? Si esta es una mala idea (debido a alguna forma posible en que los rieles funcionan internamente), ¿hay otra forma de lograrlo? Así que eso/categories/music, por ejemplo, y/categories/3 ¿ambos trabajan?

Respuestas a la pregunta(3)

Su respuesta a la pregunta