Ruby on Rails Tutorial för nybörjare med projekt och exempel
Vad är Ruby?
Rubin är ett tolkat och objektorienterat programmeringsspråk på hög nivå. Det är ett dynamiskt språk med öppen källkod som har en stor gemenskap bakom sig. Ruby designades för enkelhet och produktivitet. Det uppmuntrar att skriva mänsklig första och dator andra programvarukod. Den skapades av Yukihiro Matsumoto i Japan 1995.
Vad är Rails?
Skenor är ett utvecklingsramverk skrivet i Ruby för att bygga webbapplikationer. Den skapades som grunden för Basecamp-applikationen och släpptes sedan som en öppen källkodsmjukvara 2004. Rails erbjuder många inbyggda standardfunktioner och funktioner, vilket gör det till ett lämpligt alternativ för MVP-prototyper och utveckling.
Den skapades av David Heinemeier Hasson, populärt känd som DHH. Det är ett av de mest inflytelserika och populära verktygen för att bygga webbapplikationer. Det används av några av favoritsajterna som Airbnb, Github, Shopify, etc.
Varför Rails?
Här är fördelarna/fördelarna med att använda Rails:
- Rails är förpackad som en Ruby pärla, och du kan använda den för att bygga en mängd olika applikationer.
- Det låter dig bygga vanliga webbapplikationer, e-handelsapplikationer, innehållshanteringssystem och mer.
- Rails är ett ramverk i full stack som innehåller allt du behöver för att skapa en databasdriven webbapplikation, med modellen Model-View-Controller.
- Detta innebär att alla lager är byggda för att fungera sömlöst tillsammans med mindre kod. Det kräver färre rader kod än andra ramverk.
Hur man laddar ner och installerar Ruby på Windows
Installationsprocessen beror på ditt operativsystem. Du kommer att gå igenom installationen av Ruby på Windows, Mac och Linux.
Steg 1) Ladda ner Rubyinstaller
Det enklaste sättet att installera Ruby på din Windows datorn är genom Ruby Installer som du kan ladda ner på https://rubyinstaller.org/.
Allt du behöver göra är att köra det nedladdade installationsprogrammet.
Steg 2) Klicka på nedladdat installationsprogram
Double-klicka på det nedladdade installationsprogrammet 'rubyinstaller-2.4.1-2-x64.exe'.
Steg 3) Acceptera licensen
Välj alternativknappen "Jag accepterar licensen" och klicka på knappen "Nästa". Detta bör ta dig till nästa bild nedan:
Steg 4) Markera de två första kryssrutorna
Markera de två första kryssrutorna för att göra det enklare att köra Ruby-skript.
Klicka på knappen "Installera" för att komma igång med installationen. Du bör se bilden nedan när installationen är klar.
Steg 5) Klicka på Slutför
Avmarkera inte kryssrutan som installerar MSYS2. Klicka på "Slutför" för att slutföra installationen och ett kommandopromptfönster som visas i bilden nedan kommer att visas.
Steg 6) Installerar MSYS2
Detta steg installerar MSYS2, en byggplattform som har en pakethanterare för enkel installation av paket på Windows.
Tryck på Enter för att installera alla komponenter eftersom de alla krävs för att ha en smidig Ruby on Rails-utvecklingsmiljö att arbeta med på Windows.
Installation av skenor
Du bör ha Ruby installerad från föregående avsnitt, och nu ska du installera Rails. Du kan installera Rails med ett paket från RailsInstaller, men problemet med detta är att du inte får den senaste versionen av de nödvändiga paketen.
Om du redan har den senaste Ruby och en baslinje med nödvändiga RubyGems och tillägg installerade. Allt du behöver göra nu är att köra följande kommando vid kommandotolken för att få Rails på ditt system: 'gem install rails'.
Du måste också installera node.js om du inte redan har det eftersom vissa bibliotek som Rails är beroende av kräver en Javascript körtid för att fungera korrekt. Du kan få nod på https://nodejs.org.
Det är ett mer vanligt och föredraget sätt att utveckla på Windows. Rails community använder en Windows Delsystem för Linux som tillhandahåller en GNU/Linux-miljö med kommandoradsverktyg, verktyg och vanliga applikationer direkt på Windows.
Installera Ruby på Mac
Din Mac har redan Ruby förinstallerat på den. Den förinstallerade versionen kan dock vara gammal, så du måste installera en ny/senaste version.
Det enklaste sättet att göra detta är att använda en pakethanterare som t.ex Homebrew. Du kanske först måste installera Homebrew genom att köra kommandot nedan i terminalen.
/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)
Detta kommer att visa en varning och ber dig att ange ditt lösenord. Ange ditt Mac-lösenord (du kommer inte att se tecknen när du skriver). Tryck bara på 'Enter' när du är klar med ditt lösenord. Kör sedan detta enkla Homebrew-kommando för att installera Ruby på din Mac.
brew install ruby
Och kör även detta kommando:
echo "export PATH="/usr/local/bin:/usr/local/sbin:$PATH >> ~/.bash_profile
För att ställa in den här Ruby-installationen som standard Ruby som ska köras på ditt system och inte den förinstallerade Ruby.
För att bekräfta att installationen lyckades kan du köra följande i terminalen
ruby --version
detta kommer att skriva ut Ruby-versionsnumret som du har installerat. Utgången kommer att se ut ungefär
ruby 2.6.0p0 (2018-12-25 revision 66547) [x86_64-darwin18]
Installerar Ruby på Ubuntu (Linux)
Det enklaste sättet att få Ruby installerad på din Ubuntu systemet är genom apt package manager. Du måste köra följande kommandon på terminalen för att installera den senaste Ruby från Ubuntu förråden.
- sudo apt uppdatering – Detta kommer att uppdatera standarden Ubuntu förråd
- sudo apt installera ruby-full – Den kommer att ladda ner och installera den senaste Ruby
För att bekräfta att installationen lyckades kan du köra följande 'ruby –version,' detta kommer att skriva ut den Ruby-version du har installerat.
Montering av skenor på Ubuntu (Linux)
Du bör följa stegen nedan för att framgångsrikt installera Rails på din Linux-maskin.
Steg 1) Uppdatera din dators ädelstenshanterare genom att köra 'pärla uppdatering –system' vid terminalen eller kommandotolken.
Steg 2) Körning "pärla installera skenor" för att installera den senaste versionen av Rails på din dator.
Steg 3) Du bör installera bundler gem för enkel Rails-applikations ädelstensberoendehantering. Springa 'gem install bundler' att få det.
Två principer för Rails
Rails följer grundläggande mjukvarudesignprinciper och uppmuntrar dig att använda dessa principer också.
De två vanligaste är:
- Don't Repeat Yourself (DRY) – detta gör att du skriver kortfattad, konsekvent och underhållbar kod.
- Konvention över konfiguration – Rails är förkonfigurerad för att använda förnuftiga standardinställningar som passar den vanligaste användningen. Detta gör din applikationsutveckling snabb, och du har också mindre kod att underhålla.
Rails – Projektfilstrukturer
Med Rails nu installerat på ditt system kan du skapa en Rails-applikation! Vi kommer att lära oss Ruby on Rails-exempel och hur man skapar en Todo-lista-applikation i denna Ruby on Rails-handledning. Kör följande kommando 'rails new todo_app' i din terminal för att skapa applikationen.
Detta kommando skapar en katalog med namnet "todo_app" i den aktuella katalogen med den grundläggande mappstrukturen för en Rails-webbapplikation, som visas i bilden nedan:
Du kommer att gå igenom huvudkatalogerna i detta Ruby on Rails-exempel.
app – Den här katalogen grupperar med olika underkataloger för UI/layout (vyer och hjälpredor), styrenheten (kontrollerfiler) och modellerna (affärs-/applikationslogik).
app/kontroller – Denna katalog lagrar kontrollerfiler som används av Rails för att hantera förfrågningar från klienten.
app/tillgångar – Den innehåller statiska filer, vilket är ett behov för programmets gränssnitt grupperade i mappar baserat på deras typ – JavaScript filer, bilder och stilmallar.
app/hjälpare – Den här underkatalogen innehåller hjälpfunktioner som gör din applikationsmodell, vy och kontrolllogik fokuserad, liten och enkel.
app/modeller – Detta innehåller filer
som modellerar din applikations databas. Modellklasserna gör det mycket enkelt att arbeta med databasen.
app/visningar – Denna spärrmall/layoutfiler som användaren av din applikation interagerar med. Mallarna är en kombination av HTML och data från databasen.
bin – Den innehåller Rails-skript som startar din applikation. Det kan också innehålla andra skript som du använder för att konfigurera och uppgradera programmet.
Konfiguration – Detta innehåller konfigurationsfiler – databas.yml, miljö.rb, rutter.rb, etc. som din applikation behöver köras.
DB – Denna katalog innehåller filer/skript som används för att hantera din applikationsdatabas.
lib – Denna katalog innehåller en utökad modul för din applikation.
logga – Detta innehåller loggfiler – server.log, development.log, test.log och production.log, etc., som används för att felsöka eller övervaka din applikation.
publik - Denna katalog innehåller statiska filer och kompilerade tillgångar, såsom HTML-filer, Javascript filer, bilder och stilmallar.
testa – Den här katalogen innehåller testfiler du skriver för att testa din applikations funktionalitet.
tmp – Den här katalogen innehåller temporära filer som cache- och pid-filer.
Säljare - Denna katalog innehåller tredjepartsbibliotek.
Gemfile – Den här filen anger vad dina grundläggande ädelstenskrav är för att köra din webbapplikation. Du kan gruppera ädelstenarna i utveckling, test eller produktion och Rails kommer att veta när de ska inkludera varje ädelsten.
Gemfile.lock – Till skillnad från Gemfilen som uttryckligen listar de ädelstenar du vill ha i din applikation, innehåller Gemfile.lock dessutom andra ädelstenar som de du listar i Gemfilen beror på som sedan installeras automatiskt för att tillfredsställa beroenden.
Readme.md – Du använder den här filen för att dela viktig information om din applikation, till exempel vad appen gör, hur du installerar och kör applikationen.
Rakefile – Den här filen innehåller olika definitioner av rake-uppgifter, vilket hjälper till att automatisera dagliga administrationsuppgifter för din applikation.
config.ru – Detta är en rackkonfigurationsfil som tillhandahåller ett gränssnitt till webbservern för att starta din applikation.
Byt katalog till "todo_app" katalog Rails genererade och körs 'rails server' för att starta applikationen. Typ lokalvärd: 3000 i adressfältet i din webbläsare bör du se bilden nedan om allt gick bra.
Detta är standardhemsidan för din applikation, och du kommer att ändra detta i det senare avsnittet av denna Ruby on Rails-handledning. Du kan stoppa servern genom att trycka på "Ctrl-C".
Rails – Generera kommandon
Kommandot Rails generera använder sig av mallar för att skapa en hel del användbara saker i din applikation. Du kan använda dessa generatorer för att spara mycket tid.
Det hjälper genom att skriva boilerplate-kod, kod som är nödvändig för att din webbapplikation ska fungera. Du kan springa "räls genererar" av sig själv vid kommandotolken eller Terminal för att se en lista över tillgängliga generatorer som visas nedan:
Du kan också köra 'skenor genererar "kommando"' för att se en beskrivning av vad kommandot gör. Den erbjuder bekväma alternativ som kan köras med kommandot och användningsexemplet. Bilden nedan visar resultatet av löpning'skenor genererar styrenhet':
Du kommer att använda kommandot för att skapa ställningar för att skapa skenorna för att automatiskt skapa modellen, vyn och styrenheten för att göra-listapplikationen du bygger. Springa' skenor genererar scaffold todo_list title:string description: text' i din terminal (kontrollera att du fortfarande finns i todo_app-katalogen).
Detta kommer att skapa ett fullständigt CRUD (Skapa, läs, uppdatera och ta bort) webbgränssnitt för TodoLists-tabellen.
Ett annat användbart kommando att känna till är "räls förstör", det vänder på vad som helst "skenor genererar..." gör.
Räls – sträckning
Rails routingsystem, rails router, hanterar alla inkommande förfrågningar till din webbapplikation. Den gör detta genom att undersöka URL:en för de inkommande förfrågningarna och mappar sedan varje förfrågan till den kontrollåtgärd som ansvarar för att hantera den, med hjälp av speciell syntax som anges i ruttfilen (config/routes.rb).
Ruttfilen hjälper till att kontrollera alla URL-aspekter av din webbapplikation. Rails använder som standard en RESTful-design baserad på REST-arkitektonisk stil, som ger en mappning mellan HTTP-verb och förfrågningar (URL:er) till kontrolleråtgärder.
Ruttfilen skapades när du sprang "skenor nya" i ett tidigare avsnitt av denna handledning. Fortsätt med Todo-applikationen som du bygger, kör följande' rails db:migrate' (du kommer att få veta vad detta gör inom kort)
På din kommandorad, se till att du fortfarande är i roten av programmet (todo_app-katalogen).
Starta sedan servern igen med 'rails server'. Typ http://localhost:3000/todo_lists/
i din webbläsare och tryck på Enter. Du bör få tillbaka en webbsida som visas i bilden nedan av Ruby on Rails exempel:
Det här är Todo-listvyn som scaffoldkommandot genererade och den styrs av TodoListsControllers indexåtgärd.
Gå vidare och lägg till en att göra-lista genom att klicka på "Ny att göra-lista" på sidan, du bör få sidan som visas nedan:
Observera att webbadressen har ändrats till http://localhost:3000/todo_lists/new
. Det här är sidan för att skapa en ny att göra-lista, och den styrs av TodoListsControllers nya metod/åtgärd.
Ange din uppgiftslistas titel och beskrivning i formuläret och klicka på knappen Skapa uppgiftslista, URL:en ska ändras till http://localhost:3000/todo_lists/1
, som visas i bilden nedan med Ruby on Rails-kodexempel:
Detta är visningssidan för en att göra-lista, och den styrs av TodoListsControllers visningsmetod/åtgärd. Om du går tillbaka till http://localhost:3000/todo_lists/
, bör du nu se bilden nedan med en ny att göra-lista tillagd:
Rails kunde mappa de olika förfrågningarna (URL:erna) till motsvarande TodoListsControllers åtgärd med hjälp av ruttdefinitionen i config/routes.rb.
Om du tittar på den här filen ser du en enda rad 'resurser: todo_lists', är Rails standardsätt för att skriva vilsamma rutter. Denna enda linje skapar sju rutter, alla mappar till TodoLists-kontrollern.
Enligt konvention mappas varje kontrollers åtgärd också till en specifik CRUD-operation (Create, Read, Update och Delete) i databasen.
Du kan springa "rake rutter" i din kommandorad för att se de olika rutter som är tillgängliga i din applikation. Bilden nedan visar resultatet av löpning "rälsrutter" i din kommandorad/terminal.
Räls – utsikt
View-lagret är en av komponenterna i MVC-paradigmet och ansvarar för att generera HTML-svar för varje begäran till din applikation. Rails använder som standard ERB (Embedded Ruby) som är ett kraftfullt mallsystem för Ruby.
ERB gör skrivmallar enkla och underhållbara genom att kombinera vanlig text med Ruby-kod för variabel substitution och flödeskontroll. En ERB-mall har tillägget .html, .erb eller .erb.
Du kommer oftast att använda en kombination av endast två taggmarkörer, som var och en gör att den inbäddade koden bearbetas och hanteras på ett speciellt sätt.
En tagg med likhetstecken '<%= %>' indikerar att inbäddad kod är ett uttryck och att resultatet av koden ska ersättas av renderaren när den renderar mallen.
Den andra taggen utan likhetstecken '<% %>' indikerar för renderaren att resultatet av koden inte ska ersättas/skrivas ut när den renderar mallen.
Varje styrenhet i din Rails-applikation har en motsvarande underkatalog i app/visningar, och varje åtgärd/metod i en styrenhet har en motsvarande .html- och .erb-fil i den här katalogen.
Ta en titt på appen/vyerna av todo-appen du bygger. Du hittar en underkatalog som heter "todo_lists" i denna underkatalog .html.erb filer med namn som motsvarar åtgärderna/metoderna i Todolistor styrenheten.
Rails – ActiveRecord, Active Record Pattern och ORM
ActiveRecord är Ruby-implementeringen av Active Record-mönstret, som är ett enkelt mönster där en klass representerar en tabell och en instans av klassen representerar en rad i den klassen.
ActiveRecord kallas populärt för en ORM (Object Relational Mapping), en teknik som låter dig hantera din databas med hjälp av ett språk du är mest bekväm med. Det är databasagnostisk så du kan enkelt växla mellan databaser (till exempel SQLite, MySQL, PostgreSQL, SQL Server, Oracle, etc.). Denna svit mer för ditt applikationskrav med samma kod/logik.
Så om du vill få en array som innehåller en lista över alla att göra-listor i din applikation, så istället för att skriva kod för att initiera en anslutning till databasen, gör du någon sorts SQL SELECT-fråga och konverterar dessa resultat till en array.
För det behöver du bara skriva 'TodoList.all' och Active Record ger dig arrayen fylld med TodoList-objekt som du kan spela med som du vill.
Allt du behöver göra är att ställa in rätt konfiguration i config/database.yml, och Active Record kommer att räkna ut alla skillnader mellan de olika databassystemen. Så när du byter från det ena till det andra behöver du inte tänka på det.
Du fokuserar på att skriva kod för din applikation, och Active Record kommer att tänka på detaljerna på låg nivå för att ansluta dig till din databas. Active Record använder sig av namnkonventioner för att skapa mappningen mellan modeller och databastabeller.
Rails pluraliserar dina modellklassnamn för att hitta motsvarande databastabell. Så för en klass TodoList kommer ActiveRecord att skapa en databastabell som heter TodoLists.
Räls – Migrationer
Rails-migrering är helt enkelt ett skript som du använder för att redigera din applikationsdatabas. Den används för att ställa in eller ändra din databas och undviker att manuellt skriva SQL-kod för att göra det.
Den använder Ruby för att definiera ändringar av databasschema och gör det möjligt att använda versionskontroll för att hålla din databas synkroniserad.
Rails Migrations använder ett Ruby Domain Specific Language (DSL). Detta fungerar som en abstraktion och gör det möjligt att använda eller ändra din databasmotor baserat på dina krav.
De kan delas med alla som arbetar med programmet och kan också återställas för att ångra eventuella ändringar i databasen. Detta är en hög säkerhetsmekanism eftersom du inte behöver bry dig om att göra permanent skada på din databas.
Rails – ActiveRecord Associations
En koppling mellan två ActiveRecord-modeller kallas en association. Association gör det mycket enklare att utföra operationer på de olika posterna i din kod. Det kan delas in i fyra kategorier: -
En till en: – Detta indikerar att en post innehåller exakt en instans av en annan modell. Ett bra exempel är användarprofil. En användare har bara en profil. Det använder har en nyckelord.
En till många: – Detta är den vanligaste associationen och den indikerar att en modell har noll eller fler instanser av en annan modell. Din användning har en _många nyckelord för att beteckna denna association.
Många till många: – Den här kopplingen är lite mer komplicerad, och ActiveRecord erbjuder två sätt att hantera den. Använda har_och_tillhör_många och har många, som ger dig tillgång till relationen som definieras i en separat tabell.
Polymorf en till många:- Detta är en mer avancerad förening tillgänglig för dig i Rails. Du kan använda den för att definiera en modell som kan tillhöra många olika modeller på en enda association.
Rails – ActiveRecord-valideringar
Validering hjälper till att säkerställa att du har korrekt data eftersom att arbeta med fel data är en hemsk sak och kan kosta dig dina pengar och din verksamhet.
Validering ger också ett extra lager av säkerhet för din applikation mot att skadliga användare får tillgång till information i din databas. Rails erbjuder dig ett trevligt API av valideringshjälpare i ActiveRecord för att hålla din databas ren, säker och fri från fel.
ActiveRecord-valideringar körs på modellobjekt innan de sparas i databasen, vilket gör dem mer tillförlitliga och även bästa praxis att följa när du bygger din applikation.
Följande ActiveRecord-metoder framkallar valideringar när de används eller anropas på modellobjekt – skapa, skapa!, spara, spara!, uppdatera och uppdatera!. De med en smäll (skapa!, spara! och uppdatera!) ta upp ett undantag om en post är ogiltig medan thothen'tt't't.
De vanligaste ActiveRecord-valideringshjälparna till ditt förfogande är: -
Bekräftelse:– Denna valideringshjälp är användbar för att validera två fält som har samma post. t.ex. lösenord och lösenordsbekräftelse, det används tillsammans med hjälpen för närvarovalidering.
Närvaro:– Detta kontrollerar att fältet inte är tomt.
unikhet: säkerställer unikt värde för ett fält, t.ex. användarnamn
Längd:- Att genomdriva en begränsning av teckenlängden i ett fält
Du kan också skapa din anpassade validering genom att använda valideringsmetoden och ge den namnet på den anpassade valideringsmetoden.
Du kan kolla modellens fel invända för att ta reda på varför en validering. Förhoppningsvis har du några idéer för att göra din applikation mer begränsad och säkrare för att bara tillåta säker data i din databas.
Rails – ActionController
Rails-styrenheten är centrum för din webbapplikation. Det underlättar och koordinerar kommunikationen mellan användaren, modellerna och åsikterna.
Dina kontrollerklasser ärver från ApplicationController, som innehåller kod som kan köras i alla andra kontroller och den ärver från ActionController-klassen.
Styrenheten tillhandahåller följande till din applikation:
- Den dirigerar externa förfrågningar till interna åtgärder
- Den lyckas cache, vilket ger prestandahöjningar till din applikation
- Den hanterar hjälpmetoder som utökar kapaciteten för vymallar. Den hanterar också användarsessioner, vilket ger dem en smidig upplevelse med din app.
Räls – Konfigurationer
Du kan konfigurera de olika komponenterna såsom initialiserare, tillgångar, generatorer, mellanprogram, etc. Genom att använda din Rails-applikationsinitierare och konfigurationsfiler i config-katalogen. Filer som config/application.rb, config/environments/development.rb och config/environments/test.rb etc. Du kan också konfigurera anpassade inställningar för din applikation.
Rails – Felsökning
När du bygger ut din applikation kommer det att komma en tid som du behöver/måste felsöka din kod. Rails gör det enkelt att använda byebug pärla. Du kan starta en felsökningssession genom att lägga in nyckelordet "byebeg" var som helst i din applikationskod.
Detta kommer tillfälligt att stoppa exekveringen vid den tidpunkten. Byebug pärla ger dig flera kommandon att använda. De mest användbara är:
- Nästa: kommando som gör att du kan gå till nästa kodrad och hoppa över alla metoder som anropas av exekveringen av den aktuella raden.
- steg: detta liknar kommandot 'next' men kommer att få dig att gå in i varje anropat.
- bryta: detta stoppar kodexekveringen.
- fortsätta fortsätter exekveringskoden.
Det finns andra felsökningsädelstenar tillgängliga som "bända", och de har alla liknande funktioner men lite olika syntax. Felsökning av ädelstenar bör inte användas i produktionen eftersom detta innebär risker för din applikation och dåliga erfarenheter för dina applikationsanvändare.
Det finns loggfiler som du kan inspektera för fel i produktionen och hantera dem. Du bör också följa en TDD-metod (Testdriven Development) när du utvecklar din applikation för att säkerställa att allt fungerar bra innan du distribuerar till produktion.
Sammanfattning
- Ruby är ett rent objektorienterat programmeringsspråk
- Ruby har en elegant syntax som är både lätt att läsa och skriva.
- Rails är ett utvecklingsramverk, skrivet i Ruby, för att bygga webbapplikationer
- Installationsprocessen beror på ditt operativsystem.
- Rails är förpackad som en Ruby pärla, och du kan använda den för att bygga en mängd olika applikationer.
- Du kommer att skapa en att göra-lista-applikation i den här handledningen, kör followincomm'n'n' 'rails netoda'p'p'p' i din terminal för att skapa applikationen.
- Kommandot Rails generera använder sig av mallar för att skapa en hel del användbara saker i din applikation.
- Rails routing system, rails router hjälper dig att hantera alla inkommande förfrågningar till din webbapplikation.
- View-lagret är en av komponenterna i MVC-paradigmet och är ansvarigt för att generera HTML-svar för varje begäran till din applikation.
- ActiveRecord är Ruby-implementeringen av Active Record-mönstret.
- Rails-migrering är helt enkelt ett skript som du använder för att redigera din applikationsdatabas.
- En koppling mellan två ActiveRecord-modeller kallas en association.
- Validering hjälper till att säkerställa att du har korrekt data eftersom att arbeta med fel data är en hemsk sak och kan kosta dig dina pengar och din verksamhet.
- Rails-styrenheten hjälper dig att underlätta och koordinera kommunikationen mellan användaren, modellerna och vyerna.
- Rail hjälper dig att konfigurera de olika komponenterna som initialiserare, tillgångar, generatorer, mellanprogram, etc.