Neuer Ingenieur, der in 100 Tagen (4. Tag) eine Portion wird
Guten Abend, es ist schon der 5. Tag. Das heutige Thema handelt von Rails-Routen. Als ich es nachgeschlagen habe, gab es einige Regeln, deshalb möchte ich sie zusammenfassen.
Der Rails-Router erkennt die empfangene URL und weist sie der entsprechenden In-Controller-Aktion zu.
GET /patients/17
Wenn es eine Anfrage mit einer solchen URL gibt
get '/patients/:id', to: 'patients#show'
Zugewiesen an die Show-Aktion des Patienten-Controllers. Der 17 Teil entspricht: id. Nach bis: ist es mit dem Gefühl von "Controller # Aktion" verbunden.
Es ist ein Typ, der verschiedene verwandte Anfragen in einer Aktion zusammenfasst.
resources :users
Schreiben Sie einfach eine Zeile in Routen wie diese und die folgenden Routen werden hinzugefügt
HTTP | Pfad | Regler#Aktion |
---|---|---|
GET | /users | users#index |
GET | /users/new | users#new |
POST | /users | users#create |
GET | /users/:id | users#show |
GET | /users/:id/edit | users#edit |
PATCH/PUT | /uses/:id | users#update |
DELETE | /users/:id | users#destroy |
Sie können nach Namespace gruppieren.
namespace :admin do
resources :users
end
HTTP | Pfad | Regler#Aktion |
---|---|---|
GET | /admin/users | admin/users#index |
GET | /admin/users/new | admin/users#new |
POST | /admin/users | admin/users#create |
GET | /admin/users/:id | admin/users#show |
GET | /admin/users/:id/edit | admin/users#edit |
PATCH/PUT | /admin/uses/:id | admin/users#update |
DELETE | /admin/users/:id | admin/users#destroy |
Auf diese Weise können Sie eine Route mit Gruppen erstellen, die mit / admin beginnen.
Übrigens, wenn Sie einige Routen in Ressourcen auswählen und verwenden möchten
resources :articles do
resources :comments, only: [:index, :new, :create]
end
Geben Sie einfach die Routen an, die Sie erst verwenden möchten :. Es ist unwahrscheinlich, dass Sie unnötige Routen angeben.
Sie können die Option: as verwenden, um ein beliebiges Routing zu benennen.
get 'exit', to: 'sessions#destroy', as: :logout
Das obige Routing erstellt logout_path und logout_url als benannte Routing-Helfer der Anwendung. Das Aufrufen von logout_path wird zurückgegeben / beendet. Und so weiter: Sie können ein benanntes Routing mit as erstellen.
Das benannte Routing wird auch zum Zeitpunkt der Ressourcen erstellt.
Grundsätzlich scheint es, dass URL oft durch eine benannte Route angegeben wird, also Ich habe kürzlich das Gefühl, dass es sehr wichtig ist, sich an diese Methode zu gewöhnen.
Wenn Sie alles schreiben, scheint es unendlich zu sein, also ist es heute hier. Wenn Sie nicht verstehen, möchte ich es mir zur Gewohnheit machen, jedes Mal den Rails-Leitfaden zu überprüfen.
*** 95 Tage, um ein vollwertiger Ingenieur zu werden ***
Recommended Posts