În Rails, o rută cu resurse oferă o corespondență între verbele HTTP și URL-urile și acțiunile controlorilor. Prin convenție, fiecare acțiune se mapează, de asemenea, către anumite operații CRUD dintr-o bază de date. O singură intrare în fișierul de rutare, cum ar fi
resources :photos
creează șapte rute diferite în aplicația dumneavoastră, toate făcând corespondență cu controlerulPhotos:
GET /photosGET /photos/newPOST /photosGET /photos/:idGET /photos/:id/editPATCH/PUT /photos/:idDELETE /photos/:id
Resursele pot fi, de asemenea, imbricateinfinit prin utilizarea acestei sintaxe de bloc:
resources :photos do resources :commentsend
Aceasta generează următoarele rute de comentarii:
Opțiuni
Trece aceleași opțiuni ca și Base#match, precum și:
:path_names
Vă permite să modificați componenta de segment a acțiunilor edit și new. Acțiunile nespecificate nu sunt modificate.
resources :posts, path_names: { new: "brand_new" }
Exemplul de mai sus va schimba acum /posts/new în /posts/brand_new
:path
Vă permite să modificați prefixul căii pentru resursă.
resources :posts, path: 'postings'
Resursași toate segmentele vor fi acum direcționate către /postings în loc de /posts
:only
Generează numai rute pentru acțiunile date.
resources :cows, only: :showresources :cows, only:
:except
Generează toate rutele, cu excepția acțiunilor date.
resources :cows, except: :showresources :cows, except:
:shallow
Generează rute superficiale pentru resursele imbricate.Când este plasat pe o resursă părinte, generează rute superficiale pentru toate resursele imbricate.
resources :posts, shallow: true do resources :commentsend
Este același lucru cu:
Acest lucru permite ca URL-urile pentru resurse care altfel ar fi adânc imbricate, cum ar fi un comentariu la o postare pe un blog, cum ar fi/posts/a-long-permalink/comments/1234, să fie scurtate la doar/comments/1234.
:shallow_path
Prefixează shallowroutes imbricate cu calea specificată.
scope shallow_path: "sekret" do resources :posts do resources :comments, shallow: true endend
Resursa commentshere va avea următoarele rute generate pentru ea:
:shallow_prefix
Prefixează numele rutelor shallow imbricate cu prefixul specificat.
scope shallow_prefix: "sekret" do resources :posts do resources :comments, shallow: true endend
Resursa commentshere va avea următoarele rute generate pentru ea:
:format
Vă permite să specificați valoarea implicită pentru formatul opțional formatsegment sau să îl dezactivați furnizând false.
Exemple
.