2012-08-08 10 views
18

Welche Pfade werden automatisch von Rails hinzugefügt? Nehmen wir an, Sie haben eine Fragenressource, die Sie automatisch an fragments_path, question_path usw. erhalten. Wo sehe ich, was sie lösen und was ich bekomme?Dynamischer Pfad Helfer Schienen

Antwort

34

könnte Dieser Abschnitt 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) 

Wenn Sie einen Helfer für show Aktion erstellen möchten Sie schreiben können

photo_path(@photo.id) 

wo @photo ist Ihr Modell Objekt hilfreich sein. Oder Sie können @photo direkt übergeben, wenn es auf id Methode reagiert.

photo_path(@photo) 
edit_photo_path(@photo) 

Sie können auch rails console (im Terminal) laden und Teststrecken app mit wie so app.photo_path(1) (es zeigt Ihnen den Weg für das Foto mit id gleich 1)

8

Verwenden Sie einfach:

rake routes 

Dadurch werden alle Routen Liste definiert. Die erste Spalte ist für Ihre Pfadhelfer relevant.

+0

[hier] (http://guides.rubyonrails.org/routing.html#seeing-existing-routes-with-rake) ist die detaillierte Erklärung, was 'Rake Routen' gibt Ihnen –

+0

Ich kann nicht sehen, wie dies zeigt, was ich als Argumente an den Helfer usw. übergeben kann ?? – LuckyLuke

+0

@Dude, siehe mein Update – evfwcqcg

0

Wenn Sie die folgenden haben in Ihrem Datei Routen:

resources :questions 

Dann Rails bietet folgende erholsamen Routen für Sie:

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 

Sie können auch Rake: routes ausführen, um zu sehen, was generiert wird.

Verwandte Themen