Las rutas de los raíles son geniales para combinar el estilo RESTful '/' bits separados de una URL, pero ¿puedo hacer coincidir los parámetros de consulta en una configuración map.connect
? Quiero que se invoquen controladores/acciones diferentes dependiendo de la presencia de un parámetro después del '?'
.Rutas rutas que coinciden con los parámetros de consulta
yo estaba tratando algo como esto ...
map.connect "api/my/path?apple=:applecode", :controller => 'apples_controller', :action => 'my_action'
map.connect "api/my/path?banana=:bananacode", :controller => 'bananas_controller', :action => 'my_action'
Para los propósitos de enrutamiento que no se preocupan por el valor del parámetro, siempre que esté disponible para el controlador en el params
de hash
Este es probablemente va a ser muy difícil de hacer con la incorporada en el motor de enrutamiento, ya que sólo trata con la porción de ruta de la solicitud. Los parámetros de consulta son analizados por otra capa. Podría ser posible usar Rack para volver a escribir la URL a medida que entra para hacerlo enrutable. – tadman