Rutter och resurser
RESTful-routing.
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"
endHTTP-verb
Varje route anger ett verb som signalerar avsikten:
getläser data.postskapar data.patch/putuppdaterar data.deletetar 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
endDe sju actions
resources :articles skapar routes för:
indexlistar,showvisar en post.newvisar ett formulär,createsparar.editvisar ett formulär,updatesparar.destroytar 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/commentsRoot-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"
endInspektera 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 }
endSnabb 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. resourcesgenererar sju standardroutes.- Path helpers gör hårdkodade URL:er onödiga.
only/except, kapslade routes samt member- och collection-routes anpassar mängden.rootanger startsidan;rails routeslistar allt.
Härnäst skriver vi de controllers som hanterar dessa förfrågningar.
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
- Rutter och resurser
- Controllers och actions
- Strong Parameters
- Vyer och rendering