2010-02-28 16 views
10

¿Es posible crear una ruta recursiva en Rails?Rutas recursivas en Rails

Tengo una aplicación que permite a un administrador crear páginas. El modelo de página es un conjunto anidado y, por lo tanto, cada página tiene un parent_id, por lo tanto, las páginas están estructuradas en árboles. El modelo de página también usa el complemento Friendly ID para proporcionar slugs para cada página.

Cuando un usuario navega por el sitio, me gustaría que vean la estructura de anidación en las direcciones URL; es mejor para los motores de búsqueda, así como para los usuarios que quieran navegar por el sitio cortando las URL.

quiero algo a lo largo de las líneas de:

http://example.com/page/page/page/page ... etc

Ahora, evidentemente, puedo crear un mapa anidada con 10 nidos dicen y esperan que ningún sitio excede ese límite, pero estoy curioso si hay otra forma ...

Respuesta

11

Puede asignar la ruta inicial (/ página) al controlador, configurando "globbing" para todos los parámetros finales.

map.connect '/:page/*pages', :controller => 'pages', :action => 'show' 

params [: páginas] contendrá ahora una matriz de los parámetros de la página (a juego tantas params se arrastran como se especifica en la URL).