2012-08-08 6 views
18

¿Cuáles son las rutas que Rails agrega automáticamente? Supongamos que tiene un recurso de pregunta que automáticamente obtiene questions_path, question_path, etc. ¿Dónde veo lo que resuelven y lo que obtengo?carriles de ayuda dinámica de camino

Respuesta

34

Esta sección podría ser útil http://guides.rubyonrails.org/routing.html#specifying-a-controller-to-use

Verb Path    Action  Helper 

GET  /photos   index  photos_path 
GET  /photos/new  new  new_photo_path 
POST /photos   create  photos_path 
GET  /photos/:id  show  photo_path(:id) 
GET  /photos/:id/edit edit  edit_photo_path(:id) 
PUT  /photos/:id  update  photo_path(:id) 
DELETE /photos/:id  destroy photo_path(:id) 

Si desea crear un ayudante para show acción puede escribir

photo_path(@photo.id) 

donde @photo es su modelo de objetos. O puede pasar @photo directamente si responde al método id.

photo_path(@photo) 
edit_photo_path(@photo) 

También puede cargar rails console (en el terminal) y las rutas de prueba utilizando app al igual que app.photo_path(1) (le mostrará la ruta para la foto con id iguales 1)

8

sólo tiene que utilizar:

rake routes 

Esto listará todas las rutas definidas. La primera columna es relevante para sus ayudantes de ruta.

+0

[aquí] (http://guides.rubyonrails.org/routing.html#seeing-existing-routes-with-rake) es la explicación detallada de qué 'rutas de rake' te da –

+0

No puedo ver cómo esto muestra lo que puedo pasar como argumentos para el ayudante, etc. – LuckyLuke

+0

@Dude, mira mi actualización – evfwcqcg

0

Si has lo siguiente en su archivo de rutas:

resources :questions 

Entonces Rails ofrece las siguientes rutas de descanso para usted:

GET  /questions   index  list of questions 
GET  /questions/new  new   show new question form 
POST /questions   create  create a new question 
GET  /questions/:id  show  show a specific question 
GET  /questions/:id/edit edit  show form to edit question 
PUT  /questions/:id  update  update a specific question 
DELETE /questions/:id  destroy  delete a specific question 

También puede ejecutar rake: routes para ver qué se está generando.

Cuestiones relacionadas