ror rails examples ruby-on-rails ruby routing

ruby-on-rails - ror - routes rails examples



cambio de acción del controlador de enrutamiento de carriles (3)

Estoy luchando aquí con un problema: tengo un controlador de preguntas que tiene acción nueva . Cada vez que necesito crear una nueva pregunta, escribo

/questions/new

¿Qué cambios en routes.rb debo hacer para cambiar el URI a

/questions/ask

Gracias. Válvula.


¿Qué versión de rieles?

En general, la ruta predeterminada debería capturar algo como /: controller /: action, por lo que podría simplemente crear un método ask en su controlador de preguntas. Eche un vistazo a la documentación api para named_route y map_resource si quiere que algo sea más fácil de usar.


Prueba esto:

map.ask_question ''/questions/ask'', :controller => ''questions'', :action => ''new''

Entonces tendrás una ruta con nombre y podrás:

link_to "Ask a question", ask_question_path


Si está utilizando rutas RESTful quizás le gustaría usar map.resources para sus preguntas .

Para cambiar el nombre de las URL de acción puede hacer esto:

map.resources :questions, :path_names => { :new => ''ask'', :delete => ''withdraw'' }

(Agregué eliminar por el bien del ejemplo)