Tengo estas dos rutas para las páginas estáticas que capturo en el controlador.
match "/pages/:page" => "pages#aboutus"
match "/pages/:page" => "pages#team"
Pensé que funcionaría haciendo coincidir el "aboutus" o el "equipo", pero el enrutamiento parece funcionar solo buscando la primera entrada anterior.
Mi controlador se ve así:
def aboutus
end
def team
end
¿Alguna idea de cómo puedo hacer que las rutas vayan a la entrada correcta del controlador?
¡Gracias!
Respuestas
5 para la respuesta № 1No puede funcionar así.
Lo que escribió significa que la solicitud se envía a la pages
controlador de aboutus
acción con { :page }
en params Lo que se supone que es tu :page
?
También, leer la guía de enrutamiento
Si tu quieres /pages/aboutus
para redirigir a pages#aboutus
y /pages/team/
a pages#team
Haz eso:
match "/pages/aboutus" => "pages#aboutus"
match "/pages/team" => "pages#team"
2 para la respuesta № 2
La coincidencia va contra el nombre en el par nombre / valor. Podrías hacer algo como esto en su lugar:
match "/pages/about-us" => "pages#aboutus"
match "/pages/team" => "pages#team"
Sin embargo, si está buscando una solución global para manejar páginas estáticas, recomiendo highvoltage by thoughtbot:
https://github.com/thoughtbot/high_voltage
2 para la respuesta № 3
Esto no funcionará, lo siento. Está intentando usar la misma url para ir a dos lugares diferentes. El primer parámetro que se debe hacer es cómo se ve la url en el navegador y le ha dado exactamente la misma a las dos rutas.
Necesitas diferenciar las urls de alguna manera.
¿Estás tratando de hacer esto?
match "/pages/aboutus" => "pages#aboutus"
match "/pages/team" => "pages#team"