2011-09-01 15 views
5

Tengo un controlador de páginas con dos registros en la base de datos; 'páginas' y 'contacto'. La identificación para cada registro de página es el título. ¿Cómo escribo una ruta específica para cada página?ruta de raíles a la identificación específica

Actualmente tengo un cajón de sastre ruta que funciona ...

match '/:id' => 'pages#show' 

pero quiero crear una ruta única para cada página

Respuesta

8

probablemente no entiendo su pregunta porque tengo ni idea de por qué querría hacer eso;)

de todos modos, supongamos que tiene una página lo que el título/id "sobre". Así es como podría ser su ruta:

match '/about' => 'pages#show', :defaults => { :id => 'about' } 

cf. http://guides.rubyonrails.org/routing.html#defining-defaults

Nota: Yo no llamaría a la ruta que ya está usando un "cajón de sastre"; es una ruta de Rails bastante normal. Esto es lo que yo llamaría un cajón de sastre:

match ':controller(/:action(/:id))' 
+0

Quiero especificarlos para que pueda tener los ayudantes de ruta, así que ahora tienen partido '/ sobre' => 'páginas # show',: por defecto => { : id => 'about'},: as =>: alrededor de –

+1

Gotcha. Tal vez ya haya considerado esto, pero con el interés de no repetir el código, iría con su ruta original, agregue ': as =>: página' y use el helper de ruta' page_path (: id => 'about') '. –

Cuestiones relacionadas