Ruby Academy · Lektion

Rutter och resurser

RESTful-routing.

Lektion 1 av 413 steg

Rutter och resurser är en gratis lektion i Ruby Academy på CoddyKit. Detta är lektion 1 av 4. Du kan läsa vilka 3 lektioner som helst i den här lärvägen kostnadsfritt i sin helhet – därefter låser CoddyKit PRO upp alla lektioner, plus praktisk övning med en inbyggd kodredigerare och en AI-lärare dygnet runt. Den ingår i lärvägen för Ruby Academy, och Era framsteg synkroniseras mellan webben och CoddyKit-appen. Kursen i Ruby Academy innehåller totalt 4 lektioner.

Vad är routning?

Routning kopplar en inkommande HTTP-förfrågan (en metod och en sökväg) till en controller-action som hanterar den. Ruttfilen är ingången till en Rails-app.

  • Routes finns i config/routes.rb.
  • Varje route kopplar en URL till controller#action.
  • Rails matchar routes uppifrån och ned.

En grundläggande route

Den enklaste routen kopplar en sökväg till en action med get. Här anropar en GET-förfrågan till /about actionen about i PagesController.

Rails.application.routes.draw do
  get "/about", to: "pages#about"
end

HTTP-verb

Varje route anger ett verb som signalerar avsikten:

  • get läser data.
  • post skapar data.
  • patch / put uppdaterar data.
  • delete tar bort data.

Samma sökväg med olika verb kan kopplas till olika actions.

RESTful-resurser

Hjälpmetoden resources genererar de sju standardrutterna för en modell på en enda rad. Det är kärnan i konventionell Rails-routning.

Rails.application.routes.draw do
  resources :articles
end

De sju actions

resources :articles skapar routes för:

  • index listar, show visar en post.
  • new visar ett formulär, create sparar.
  • edit visar ett formulär, update sparar.
  • destroy tar bort.

Detta täcker en resurs hela livscykel.

Path helpers

Routes genererar namngivna hjälpare, så hårdkodade URL:er aldrig behövs. resources :articles ger articles_path, article_path(@article), new_article_path och edit_article_path(@article).

articles_path            # => "/articles"
article_path(5)          # => "/articles/5"
new_article_path         # => "/articles/new"
edit_article_path(5)     # => "/articles/5/edit"

Begränsa actions

Använd only eller except för att bara generera de routes som behövs. Det håller routningsytan liten och avsiktlig.

resources :articles, only: [:index, :show]
resources :comments, except: [:edit, :update]

Kapslade resurser

Kapsla resurser för att uttrycka ägarskap i URL:en. Kommentarer som tillhör en artikel blir /articles/1/comments. Den kapslade routen skickar article_id till controllern.

resources :articles do
  resources :comments
end

# GET /articles/1/comments

Root-routen

root definierar vad som laddas på /, appens startsida. Placera den nära toppen av ruttfilen för tydlighetens skull.

Rails.application.routes.draw do
  root "articles#index"
end

Inspektera routes

Kör rails routes för att lista varje route med dess verb, sökväg, hjälpare och controller#action. Det är det snabbaste sättet att förstå eller felsöka en apps routning.

Member- och collection-routes

Lägg till anpassade actions för en resurs:

  • member-routes verkar på en post: /articles/1/publish.
  • collection-routes verkar på mängden: /articles/search.
resources :articles do
  member { post :publish }
  collection { get :search }
end

Snabb kontroll

Testa dina kunskaper om routning.

Sammanfattning: Routes och resurser

Du har lärt dig RESTful-routning:

  • Routes kopplar verb och sökväg till controller#action.
  • resources genererar sju standardroutes.
  • Path helpers gör hårdkodade URL:er onödiga.
  • only/except, kapslade routes samt member- och collection-routes anpassar mängden.
  • root anger startsidan; rails routes listar allt.

Härnäst skriver vi de controllers som hanterar dessa förfrågningar.

Gratis att börja

Lär dig Ruby med en AI-lärare – gratis

Skriv och kör riktig kod i webbläsaren, få omedelbar hjälp av en AI-lärare dygnet runt och fortsätt där du slutade – på webben eller i appen.

Kurser
29
Lektioner
109

Vanliga frågor

Är lektionen ”Rutter och resurser” gratis?

Ja – du kan läsa vilka 3 lektioner som helst i lärvägen Ruby Academy, inklusive ”Rutter och resurser”, kostnadsfritt i sin helhet här på webben. Därefter låser CoddyKit PRO upp alla lektioner, plus interaktiv övning med en inbyggd kodredigerare och en AI-lärare dygnet runt. Kursen i Ruby Academy innehåller totalt 4 lektioner.

Vad lär jag mig i ”Rutter och resurser”?

RESTful-routing. Ni övar på Ruby Academy med praktisk kod som körs direkt i webbläsaren, medan en AI-handledare som är tillgänglig dygnet runt svarar på Era frågor under lektionen.

Behöver jag någon erfarenhet för att börja lära mig Ruby Academy?

Du behöver inga förkunskaper. Utbildningen i Ruby Academy på CoddyKit är upplagd för allt från nybörjare till avancerade elever, så att du kan börja här eller från början och gå fram i din egen takt. Detta är lektion 1 av 4.

Hur lång tid tar lektionen ”Rutter och resurser”?

De flesta CoddyKit-lektioner tar cirka 5–10 minuter. Varje lektion är kort och interaktiv, så att du gör stadiga framsteg och kan fortsätta precis där du slutade – på webben eller i appen.

Kan jag skriva och köra kod i den här Ruby Academy-lektionen?

Ja. Varje Ruby Academy-lektion innehåller en inbyggd kodredigerare, så att du kan skriva och köra riktig kod direkt i webbläsaren och få omedelbar AI-feedback – utan lokal installation.

Alla lektioner i den här kursen

  1. Rutter och resurser
  2. Controllers och actions
  3. Strong Parameters
  4. Vyer och rendering
← Tillbaka till Ruby Academy