V systému Rails poskytuje resourceful route mapování mezi slovesy HTTP a adresami URL a akcemi řadiče. Podle konvence se každá akce také mapuje na konkrétní operace CRUD v databázi. Jediný záznam v souboru směrování, například
resources :photos
vytvoří ve vaší aplikaci sedm různých tras, všechny mapující na kontrolérPhotos:
GET /photosGET /photos/newPOST /photosGET /photos/:idGET /photos/:id/editPATCH/PUT /photos/:idDELETE /photos/:id
Zdroje lze také vnořovat do nekonečna pomocí této blokové syntaxe:
resources :photos do resources :commentsend
Vytvoří následující trasy s komentáři:
Options
Přijímá stejné možnosti jako Base#match a také:
:path_names
Umožňuje změnit segmentovou složku editace a newakce. Akce, které nejsou zadány, se nemění.
resources :posts, path_names: { new: "brand_new" }
Výše uvedený příklad nyní změní /posts/new na /posts/brand_new
:path
Umožňuje změnit prefix cesty k prostředku.
resources :posts, path: 'postings'
Prostředeka všechny segmenty budou nyní směřovat do /postings místo do /posts
:only
Generuje trasy pouze pro dané akce.
resources :cows, only: :showresources :cows, only:
:except
Vygeneruje všechny trasy kromě zadaných akcí.
resources :cows, except: :showresources :cows, except:
:shallow
Vygeneruje mělké trasy pro vnořený(é) prostředek(y). při umístění na nadřazený prostředek vygeneruje mělké trasy pro všechny vnořené prostředky.
resources :posts, shallow: true do resources :commentsend
Je stejný jako:
To umožňuje zkrátit adresy URL pro zdroje, které by jinak byly hluboce vnořené, například komentář k příspěvku na blogu jako/posts/a-long-permalink/comments/1234, na pouhé/comments/1234.
:shallow_path
Prefixuje vnořené shallowroutes zadanou cestou.
scope shallow_path: "sekret" do resources :posts do resources :comments, shallow: true endend
Zdroj commentshere bude mít pro něj vygenerovány následující cesty:
:shallow_prefix
Prefixuje vnořené názvy mělkých cest zadaným prefixem.
scope shallow_prefix: "sekret" do resources :posts do resources :comments, shallow: true endend
Zdroj komentářů zde bude mít vygenerovány následující trasy:
:format
Umožňuje zadat výchozí hodnotu pro nepovinný segment format nebo jej zakázat zadáním false.
Příklady
.