ruby-on-rails - examples - routes ruby on rails
Enrutamiento con un parĂ¡metro opcional (1)
Coloque las partes opcionales entre paréntesis :
map.show_book "/show_book/:name(/year/:year)", :controller => "book", :action => "show_version"
y elimina la segunda ruta
Actualizar
La respuesta anterior es solo para rieles 3 y superiores. Invertir las dos definiciones de ruta corrigió el problema (ver el comentario de Alessandro a continuación).
Añadí en el archivo de ruta:
map.show_book "/show_book/:name/year/:year", :controller => "book", :action => "show_version"
También agregué:
map.show_book "/show_book/:name", :controller => "book", :action => "show_version"
para mostrar el último libro sin especificar el año.
Pero no funciona, no puede encontrar la ruta en "show_book / NAME" si no paso el año.
¿Tienes algunas ideas de por qué no funciona?
GRACIAS !
PD. Sé que puedo usar Year como parámetro con "? Year = XXXX", pero quiero usar el año como parte de la URL