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.
Ruben D. (Guest)
on 2007-03-15 23: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.
Xavier N. (Guest)
on 2007-03-16 01: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
Ruben D. (Guest)
on 2007-03-16 08: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 N. escribió:
Emili P. (Guest)
on 2007-03-16 09: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 G. puedes encontrar un buen ejemplo

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