2011-03-11 15 views
5

Si tengo una ruta con parámetros opcionales, de la siguiente manera:rieles url_for el nombre de ruta con parámetros opcionales

match 'comments/new(/:post_id/(/:parent_id))' => 'comments#new' 

¿Hay una manera limpia para crear los enlaces para esa ruta llamado? Obviamente, puedo hacer:

link_to "New Comment", "comments/new/#{post_id}" 

Pero creo que hay una manera más limpia. Simplemente no puedo encontrar ninguna referencia en la documentación url_for o link_to.

Respuesta

16

Si el nombre de la ruta, se le puede llamar muy bien:

match 'comments/new(/:post_id/(/:parent_id))' => 'comments#new', :as => :new_comment 

se le puede llamar ya sea con un hash de opciones, o una matriz en el orden correcto:

link_to "New Comment", new_comment_path(:post_id => 1, :parent_id => 2) 
link_to "New Comment", new_comment_path(1, 2) 
Cuestiones relacionadas