A Railsben az erőforrással rendelkező útvonal leképezést biztosít a HTTP igék és URL-ek és a vezérlő akciók között. A konvenció szerint az egyes akciók az adatbázis bizonyos CRUD műveleteihez is leképeződnek. Az útválasztási fájl egyetlen bejegyzése, például
resources :photos
hét különböző útvonalat hoz létre az alkalmazásban, amelyek mindegyike aPhotos vezérlőhöz kapcsolódik:
GET /photosGET /photos/newPOST /photosGET /photos/:idGET /photos/:id/editPATCH/PUT /photos/:idDELETE /photos/:id
A források a végtelenségig beágyazhatók a blokk szintaxis használatával:
resources :photos do resources :commentsend
Ez a következő megjegyzéseket generálja útvonalakat:
Options
A Base#match opcióival megegyező opciókat, valamint:
:path_names
Megváltoztathatja az edit és newactions szegmenskomponensét. A meg nem adott műveletek nem változnak.
resources :posts, path_names: { new: "brand_new" }
A fenti példában a /posts/new mostantól /posts/brand_new-ra változik
:path
Megengedi az erőforrás útvonal-előtagjának megváltoztatását.
resources :posts, path: 'postings'
Az erőforrás és az összes szegmens mostantól /postings helyett /posts
:only
Kizárólag a megadott műveletekhez generál útvonalakat.
resources :cows, only: :showresources :cows, only:
:except
A megadott műveletek kivételével minden útvonalat generál.
resources :cows, except: :showresources :cows, except:
:shallow
Mély útvonalakat generál a beágyazott erőforrás(ok)hoz.Ha egy szülő erőforrásra helyezi, sekély útvonalakat generál az összes beágyazott erőforráshoz.
resources :posts, shallow: true do resources :commentsend
Ez ugyanaz, mint:
Ez lehetővé teszi, hogy az egyébként mélyen beágyazott erőforrások URL-jei, mint például egy blogbejegyzéshez tartozó hozzászólás, például/posts/a-long-permalink/comments/1234, csak/comments/1234-re rövidüljenek.
:shallow_path
A beágyazott sekély útvonalakat a megadott útvonallal határozza meg.
scope shallow_path: "sekret" do resources :posts do resources :comments, shallow: true endend
A comments forráshoz a következő útvonalakat generálja:
:shallow_prefix
A beágyazott sekély útvonalak neveit a megadott prefixszel határozza meg.
scope shallow_prefix: "sekret" do resources :posts do resources :comments, shallow: true endend
A comments erőforráshoz itt a következő útvonalak lesznek generálva:
:format
Megadja az opcionális formatsegment alapértelmezett értékét, vagy false megadásával letilthatja azt.
Példák
Minták