Rails útvonalak különbség az erőforrás és az erőforrások között

A Rails RESTful útvonalakat biztosít az erőforrások számára.Az útvonalak meghatározhatnak egyetlen erőforrást vagy több erőforrást az alkalmazás útvonalainak létrehozásához.

Van egy logikai különbség, amelyet figyelembe kell venni a resource vagy resources kiválasztásakor az útvonalak generálásakor.

Az erőforrások használata a Rails útvonalakban

Lássuk a generált útvonalakat, amikor a resources-t használjuk a Rails útvonalakban.

resources :products
.

.

HTTP ige Path Controller#Action Used for
GET /products products#index megjeleníti az összes termék listáját
GET /products/new products#new visszaad egy HTML űrlapot egy új termék létrehozásához
POST /products products#create új termék létrehozása
GET /products/:id products#show megjelenít egy adott terméket
GET /products/:id/edit products#edit visszaad egy HTML űrlapot egy termék szerkesztéséhez
PATCH/PUT /products/:id products#update egy adott termék frissítése
DELETE /products/:id products#destroy delete a specific product

Use of resource in Rails routes

Vegyünk egy példát a profile felhasználóra, aki bejelentkezett a weboldalra a Rails alkalmazás segítségével.A felhasználói profilnak egy olyan entitásnak (erőforrásnak) kell lennie, amin dolgozni kell, amikor a felhasználó bejelentkezett.Nem szeretnénk, ha a végfelhasználó ismerné a felhasználó ID profilját.Így,

  • A profil megtekintéséhez az útvonalnak olyannak kell lennie, mint www.example.com/profile
  • A profil szerkesztéséhez az útvonalnak olyannak kell lennie, mint www.example.com/profile/edit

stb.

Az profile erőforráshoz az alábbi módon definiálhatunk útvonalakat.

resource :profile
HTTP Verb Path Controller#Action Used for
GET /profile/new profiles#new return an HTML. új profil létrehozására szolgáló űrlap
POST /profile profiles#create új profil létrehozása
GET /profile profiles#show display a adott profil
GET /profile/edit profiles#edit visszaad egy HTML űrlapot a profil szerkesztéséhez
PATCH/PUT /profile profiles#update egy adott profil frissítése
DELETE /profile profiles#destroy egy adott profil törlése

Láthatjuk, hogy egyes erőforrás útvonalak nem rendelkeznek ID az erőforrásról.Sőt, még mindig a többes számban szereplő vezérlőnévre irányítja a kéréseket.

A Rails útmutatók azt javasolják:,

Néha van olyan erőforrás, amelyet az ügyfelek mindig azonosítóra való hivatkozás nélkül keresnek. Például azt szeretné, ha a /profile mindig az éppen bejelentkezett felhasználó profilját mutatná. Ebben az esetben használhat egyetlen erőforrást.

Az erőforrás és az erőforrások közötti különbség