web-dev-qa-db-fra.com

Rails de chemin d'accès dynamique

Quels sont les chemins automatiquement ajoutés par Rails? Supposons que vous avez une ressource Question que vous obtenez automatiquement questions_path, question_path, etc. Où puis-je voir ce qu’elles résolvent et ce que je reçois?

22
LuckyLuke

Cette section pourrait être utile 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 vous voulez créer un assistant pour l'action show, vous pouvez écrire 

photo_path(@photo.id)

@photo est votre objet de modèle. Ou vous pouvez passer directement @photo s'il répond à la méthode id.

photo_path(@photo)
edit_photo_path(@photo)

Vous pouvez également charger Rails console (dans le terminal) et tester les itinéraires à l'aide de app comme so app.photo_path(1) (il vous montrera l'itinéraire pour la photo avec id égal à 1)

40
evfwcqcg

Il suffit d'utiliser:

rake routes

Cela listera tous les itinéraires définis. La première colonne est pertinente pour vos aides de chemin.

9
thorsten müller

Si vous avez les éléments suivants dans votre fichier d’itinéraires:

resources :questions

Ensuite, Rails vous propose les itinéraires reposants suivants:

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

Vous pouvez également exécuter rake: routes pour voir ce qui est généré.

0
Shailen Tuli