I Rails tillhandahåller en resurseffektiv rutt en mappning mellan HTTP-verb och URL:er och controlleråtgärder. Enligt konvention mappar varje åtgärd också till särskilda CRUD-operationer i en databas. En enda post i routningsfilen, till exempel
resources :photos
skapar sju olika rutter i din applikation, som alla mappar till kontrollernPhotos:
GET /photosGET /photos/newPOST /photosGET /photos/:idGET /photos/:id/editPATCH/PUT /photos/:idDELETE /photos/:id
Resurser kan också nästlas in i oändliga mängder med hjälp av den här blocksyntaxen:
resources :photos do resources :commentsend
Detta genererar följande kommentarer rutter:
Options
Har samma alternativ som Base#match samt:
:path_names
Gör det möjligt att ändra segmentkomponenten för redigerings- och newactionerna. Åtgärder som inte anges ändras inte.
resources :posts, path_names: { new: "brand_new" }
Ovanstående exempel ändrar nu /posts/new till /posts/brand_new
:path
Låter dig ändra sökvägsprefixet för resursen.
resources :posts, path: 'postings'
Resursenoch alla segment kommer nu att styras till /posts i stället för till /posts
:only
Genererar endast rutter för de angivna åtgärderna.
resources :cows, only: :showresources :cows, only:
:except
Genererar alla rutter utom för de givna åtgärderna.
resources :cows, except: :showresources :cows, except:
:shallow
Genererar ytliga rutter för nästlade resurser.När den placeras på en överordnad resurs genereras ytliga rutter för alla nästlade resurser.
resources :posts, shallow: true do resources :commentsend
Är detsamma som:
Detta gör att webbadresser för resurser som annars skulle vara djupt inbäddade, t.ex. en kommentar till ett blogginlägg som/posts/a-long-permalink/comments/1234, kan förkortas till bara/comments/1234.
:shallow_path
Förkortar inbäddade shallowroutes med den angivna sökvägen.
scope shallow_path: "sekret" do resources :posts do resources :comments, shallow: true endend
För resursen commentshere kommer följande vägar att genereras för den:
:shallow_prefix
Prefixerar inbäddade shallowroute-namn med angivet prefix.
scope shallow_prefix: "sekret" do resources :posts do resources :comments, shallow: true endend
Följande vägar genereras för comments resourcehere:
:format
Gör det möjligt att ange standardvärdet för det valfria formatsegmentet eller inaktivera det genom att ange false.