Forum: Rails-ES Como tener URL's mas semanticas?

Announcement (2017-05-07): www.ruby-forum.com is now read-only since I unfortunately do not have the time to support and maintain the forum any more. Please see rubyonrails.org/community and ruby-lang.org/en/community for other Rails- und Ruby-related community platforms.
A9798ef15addcb1578aa0906788d2e92?d=identicon&s=25 Ruben Davila (rub3n)
on 2007-03-15 22:36
(Received via mailing list)
Amigos una consulta, como puedo hacer que las URL's, se muestren algo
asi:

http://tienda.com/productos/camisa-verde-small

en ves de:

http://tienda.com/productos/P0141

No estoy seguro si es una consulta directamente por nombre de producto,
en ese caso seria conveniente tener indexado tambien el nombre no?

Saludos.
Ruben.
7223c62b7310e164eb79c740188abbda?d=identicon&s=25 Xavier Noria (Guest)
on 2007-03-16 00:29
(Received via mailing list)
On Mar 15, 2007, at 10:35 PM, Ruben Alexis D. wrote:

> producto,
> en ese caso seria conveniente tener indexado tambien el nombre no?

Las piezas basicas estan explicadas en este post:

   http://jroller.com/page/obie?entry=seo_optimizatio...

Son normalizacion de campos (UTF8 -> ASCII con guiones), junto con el
truco #to_param. En la aproximacion del post hay una diferencia, y es
que se pone el ID delante, como hacen en Working with Rails:

   http://workingwithrails.com/person/5973-xavier-noria

aprovechando el hecho hackeriano que Model.find(params[:id]) se lo
traga tal cual.

Para no tener ese ID (a mi personalmente no me gusta), se mantiene
con callbacks un campo unico en la base de datos, url_id, con la
cadena "camisa-verde-small", y siempre usas

   Model.find_by_url_id(params[:id])

Si se quiere, tocando las rutas se pueden obtener la llave :url_id en
lugar de :id en params, ya a gusto del consumidor. Naturalmente el
generador del url_id no puede asumir en general que esa combinacion
de campos sera unica y tiene que añadir un sufijo o algo asi para
garantizar que el url_id es unico en caso de colisiones. No se puede
asumir que nombre+apellido de clientes sera unico, o titulo de post,
por ejemplo. Pero si las colisiones son infrecuentes la mayoria de
URLs quedan limpias.

-- fxn
A9798ef15addcb1578aa0906788d2e92?d=identicon&s=25 Ruben Davila (rub3n)
on 2007-03-16 07:02
(Received via mailing list)
Muchas gracias Xavier, me dio un enfoque completo tu respuesta ;).

Saludos.

El vie, 16-03-2007 a las 00:27 +0100, Xavier Noria escribió:
9b3b1fd6baa8379638d8399ecd60045d?d=identicon&s=25 Emili Parreño (emili)
on 2007-03-16 08:42
Hola Rubén, yo normalmente hago esto creando una función "permalink" que
guarda en  un campo de la tabla que se llama igual, una cadena con el
nombre del artículo o lo que quieras.

en el blog de Vicent Gozalbes puedes encontrar un buen ejemplo

http://www.vicentgozalbes.com/articles/2006/05/19/...
This topic is locked and can not be replied to.