Ruby on Rails-tutorial voor beginners met project en voorbeeld

Wat is Ruby?

Robijn is een hoog niveau, geïnterpreteerde en objectgeoriënteerde programmeertaal. Het is een dynamische open-source taal met een geweldige community erachter. Ruby is ontworpen voor eenvoud en productiviteit. Het moedigt het schrijven van menselijke en computer-tweede softwarecode aan. Het werd in 1995 in Japan gecreëerd door Yukihiro Matsumoto.

Wat is Rails?

Rails is een ontwikkelingsframework geschreven in Ruby voor het bouwen van webapplicaties. Het werd gecreëerd als de basis van de Basecamp-applicatie en vervolgens uitgebracht als open-source software in 2004. Rails biedt veel ingebouwde standaardfuncties en functionaliteiten, wat het een geschikte optie maakt voor MVP-prototyping en -ontwikkeling.

Het is gemaakt door David Heinemeier Hasson, in de volksmond bekend als DHH. Het is een van de meest invloedrijke en populaire tools voor het bouwen van webapplicaties. Het wordt gebruikt door enkele van de favoriete sites zoals Airbnb, Github, Shopify, enz.

Waarom rails?

Hier zijn de voordelen/voordelen van het gebruik van Rails:

  • Rails is verpakt als een Ruby-edelsteen en je kunt er allerlei toepassingen mee bouwen.
  • Hiermee kunt u reguliere webapplicaties, e-commerceapplicaties, contentmanagementsystemen en meer bouwen.
  • Rails is een full-stack framework dat alles bevat wat je nodig hebt om een ​​databasegestuurde webapplicatie te maken, met behulp van het Model-View-Controller-patroon.
  • Dit betekent dat alle lagen zijn gebouwd om naadloos samen te werken met minder code. Het vereist minder regels code dan andere raamwerken.

Ruby downloaden en installeren op Windows

Het installatieproces is afhankelijk van uw besturingssysteem. U gaat door de installatie van Ruby op Windows, Mac en Linux.

Stap 1) Rubyinstaller downloaden
De eenvoudigste manier om Ruby op uw computer te installeren Windows computer is via Ruby Installer die u kunt downloaden op https://rubyinstaller.org/.

Het enige dat u hoeft te doen, is het gedownloade installatieprogramma uitvoeren.

Stap 2) Klik op gedownload installatieprogramma
Double-klik op het gedownloade installatieprogramma 'rubyinstaller-2.4.1-2-x64.exe'.

Stap 3) Accepteer de licentie
Selecteer het keuzerondje 'Ik accepteer de licentie' en klik op de knop 'Volgende'. Dit zou u naar de volgende figuur hieronder moeten brengen:

Download en installeer Ruby op Windows

Stap 4) Vink de eerste twee selectievakjes aan
Schakel de eerste twee selectievakjes in om het uitvoeren van Ruby-scripts eenvoudiger te maken.

Klik op de knop 'Installeren' om de installatie te starten. U zou de onderstaande afbeelding moeten zien wanneer de installatie is voltooid.

Download en installeer Ruby op Windows

Stap 5) Klik op Voltooien
Schakel het selectievakje dat MSYS2 installeert niet uit. Klik op "Voltooien" om de installatie te voltooien en een opdrachtpromptvenster zoals in de onderstaande afbeelding wordt weergegeven.

Download en installeer Ruby op Windows

Stap 6) Installeert MSYS2
Met deze stap installeert u MSYS2, een bouwplatform met een pakketbeheerder voor eenvoudige installatie van pakketten Windows.

Druk op Enter om alle componenten te installeren, aangezien ze allemaal nodig zijn voor een soepele Ruby on Rails-ontwikkelomgeving om mee te werken Windows.

Download en installeer Ruby op Windows

Rails installeren

Ruby zou geïnstalleerd moeten zijn uit de vorige sectie, en nu ga je Rails installeren. U kunt Rails installeren met behulp van een pakket van RailsInstallateur, maar het probleem hiermee is dat u niet de nieuwste versie van de vereiste pakketten krijgt.

Als u de nieuwste Ruby en een basisset van vereiste RubyGems en extensies al hebt geïnstalleerd, hoeft u nu alleen nog maar de volgende opdracht uit te voeren bij de opdrachtprompt om Rails op uw systeem te krijgen: 'gem install rails.'

Je zult ook moeten installeren Node.js als je het nog niet hebt, omdat sommige bibliotheken waarvan Rails afhankelijk is een Javascript looptijd correct te laten werken. Je kunt knooppunt krijgen op https://nodejs.org.

Het is een meer gebruikelijke en geprefereerde benadering om verder te ontwikkelen Windows. De Rails-community gebruikt een Windows Subsysteem voor Linux dat een GNU/Linux-omgeving biedt met rechtstreeks opdrachtregelprogramma's, hulpprogramma's en algemene toepassingen Windows.

Ruby op Mac installeren

Op je Mac is Ruby al vooraf geïnstalleerd. De vooraf geïnstalleerde versie kan echter oud zijn en daarom moet u een nieuwe/nieuwste versie installeren.

De eenvoudigste manier om dit te doen is door een pakketbeheerder te gebruiken, zoals Homebrew. Mogelijk moet u Homebrew eerst installeren door de onderstaande opdracht in de terminal uit te voeren.

/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)

Er wordt een waarschuwing weergegeven en u wordt gevraagd uw wachtwoord in te voeren. Voer uw Mac-wachtwoord in (u ziet de tekens niet terwijl u typt). Druk gewoon op 'Enter' als u klaar bent met het typen van uw wachtwoord. Voer vervolgens deze eenvoudige Homebrew-opdracht uit om Ruby op uw Mac te installeren.

brew install ruby

En voer ook dit commando uit:

echo "export PATH="/usr/local/bin:/usr/local/sbin:$PATH >> ~/.bash_profile

Om deze Ruby-installatie in te stellen als de standaard Ruby die op uw systeem moet worden uitgevoerd en niet de vooraf geïnstalleerde Ruby.

Om te bevestigen dat de installatie succesvol is, kunt u het volgende uitvoeren in de Terminal

ruby --version

hierdoor wordt het Ruby-versienummer afgedrukt dat u hebt geïnstalleerd. De uitvoer zal er ongeveer zo uitzien

ruby 2.6.0p0 (2018-12-25 revision 66547) [x86_64-darwin18]

Ruby installeren Ubuntu (Linux)

De eenvoudigste manier om Ruby op uw computer te installeren Ubuntu systeem is via de apt-pakketbeheerder. U moet de volgende opdrachten uitvoeren in de Terminal om de nieuwste Ruby te installeren vanaf Ubuntu opslagplaatsen.

  • sudo apt-update – Hiermee wordt de standaard bijgewerkt Ubuntu repositories
  • sudo apt install ruby-full – Het zal de nieuwste Ruby downloaden en installeren

Om te bevestigen dat de installatie succesvol is, kunt u het volgende uitvoeren 'ruby –versie,' hierdoor wordt de Ruby-versie afgedrukt die u hebt geïnstalleerd.

Rails installeren Ubuntu (Linux)

U moet de onderstaande stappen volgen om Rails succesvol op uw Linux-machine te installeren.

Stap 1) Update uw computer gem manager door te draaien 'edelsteenupdate –systeem' bij de terminal of opdrachtprompt.

Stap 2) lopen 'edelsteen installatierails' om de nieuwste versie van Rails op uw computer te installeren.

Stap 3) U moet Bundler Gem installeren voor eenvoudig beheer van de Gem-afhankelijkheid van de Rails-toepassing. Loop 'gem installatiebundelaar' om het te krijgen.

Twee principes van Rails

Rails volgt de basisprincipes van softwareontwerp en moedigt u aan om deze principes ook te gebruiken.

De twee meest voorkomende zijn:

  • Don't Repeat Yourself (DRY) – hierdoor schrijft u beknopte, consistente en onderhoudbare code.
  • Conventie boven configuratie – Rails is vooraf geconfigureerd om verstandige standaardinstellingen te gebruiken die passen bij het meest voorkomende gebruik. Hierdoor ontwikkelt u uw applicatie snel en hoeft u ook minder code te onderhouden.

Rails – Projectbestandsstructuren

Nu Rails op uw systeem is geïnstalleerd, kunnen we een Rails-applicatie maken! We leren Ruby on Rails-voorbeelden en hoe u een Todo-lijstapplicatie maakt in deze Ruby on Rails-zelfstudie. Voer de volgende opdracht uit 'rails nieuwe todo_app' in uw Terminal om de applicatie te maken.

Deze opdracht maakt een map met de naam 'todo_app' in de huidige map met de basismapstructuur van een Rails-webapplicatie, zoals weergegeven in de onderstaande afbeelding:

Rails – Projectbestandsstructuren

In dit Ruby on Rails-voorbeeld doorloop je de hoofdmappen.

gebruiken – Deze map groepeert verschillende submappen voor de gebruikersinterface/lay-out (views en helpers), de controller (controllerbestanden) en de modellen (bedrijfs-/applicatielogica).

app/controllers – In deze map worden controllerbestanden opgeslagen die door Rails worden gebruikt om verzoeken van de client af te handelen.

app/activa – Het bevat statische bestanden, wat nodig is voor de front-end van de applicatie, gegroepeerd in mappen op basis van hun type – JavaScript bestanden, afbeeldingen en stylesheets.

app/helpers – Deze submap bevat hulpfuncties die uw toepassingsmodel, weergave en controllerlogica gericht, klein en overzichtelijk maken.

app/modellen – Hierin staan ​​bestanden

die de database van uw toepassing modelleren. De modelklassen maken het werken met de database zeer eenvoudig.

app/weergaven – Deze bewaarsjabloon/lay-outbestanden waarmee de gebruiker van uw applicatie communiceert. De sjablonen zijn een combinatie van HTML en gegevens uit de database.

bak – Het bevat Rails-scripts die uw applicatie starten. Het kan ook andere scripts bevatten die u gebruikt om de applicatie in te stellen en te upgraden.

Configuratie – Dit bevat configuratiebestanden – database.yml, omgeving.rb, routes.rb, enz. die uw toepassing moet uitvoeren.

DB- Deze map bevat bestanden/scripts die worden gebruikt om uw applicatiedatabase te beheren.

lib – Deze map bevat een uitgebreide module voor uw toepassing.

loggen – Dit bevat logbestanden – server.log, ontwikkeling.log, test.log en productie.log, enz., die worden gebruikt voor het opsporen van fouten of het monitoren van uw toepassing.

publiek - Deze map bevat statische bestanden en gecompileerde elementen, zoals HTML-bestanden, Javascript bestanden, afbeeldingen en stylesheets.

test - Deze map bevat testbestanden die u schrijft om de functionaliteit van uw toepassing te testen.

tmp – Deze map bevat tijdelijke bestanden zoals cache- en pid-bestanden.

leverancier - Deze map bevat bibliotheken van derden.

Gembestand – Dit bestand specificeert wat uw basisvereisten zijn voor het uitvoeren van uw webapplicatie. Je kunt de edelstenen groeperen in ontwikkeling, testen of productie en Rails weet wanneer elke edelsteen moet worden opgenomen.

Gemfile.lock – In tegenstelling tot de Gemfile die expliciet de edelstenen vermeldt die u in uw toepassing wilt hebben, bevat Gemfile.lock bovendien andere edelstenen waarvan de edelstenen die u in de Gemfile vermeldt, afhankelijk zijn en die vervolgens automatisch worden geïnstalleerd om aan de afhankelijkheden te voldoen.

Leesmij.md – U gebruikt dit bestand om essentiële details over uw applicatie te delen, zoals wat de app doet, hoe u de applicatie installeert en uitvoert.

Rakefile – Dit bestand bevat verschillende definities van rake-taken, wat helpt bij het automatiseren van de dagelijkse beheertaken van uw applicatie.

config.ru – Dit is een Rack-configuratiebestand dat een interface biedt voor de webserver om uw applicatie te starten.

Wijzig de map naar de 'todo_app' directory Rails gegenereerd en uitgevoerd 'rails-server' om de applicatie te starten. Type localhost: 3000 in de adresbalk van uw webbrowser zou u de onderstaande afbeelding moeten zien als alles goed is gegaan.

Rails – Projectbestandsstructuren

Dit is de standaardhomepage van uw applicatie en u zult dit in een later gedeelte van deze Ruby on Rails-tutorial wijzigen. U kunt de server stoppen door op te drukken 'Ctrl-C'.

Rails – Genereer opdrachten

De Rails generate-opdracht maakt gebruik van sjablonen om een ​​heleboel nuttige dingen in uw applicatie te maken. U kunt deze generators gebruiken om veel tijd te besparen.

Het helpt door het schrijven van boilerplate-code, code die nodig is om uw webapplicatie te laten werken. Je kan lopen 'rails genereren' op zichzelf in de opdrachtprompt of Terminal om een ​​lijst met beschikbare generatoren te zien, zoals hieronder weergegeven:

Rails – Genereer opdrachten

Je kunt ook rennen 'rails genereren “commando”' om een ​​beschrijving te zien van wat de opdracht doet. Het biedt handige opties die kunnen worden uitgevoerd met het opdracht- en gebruiksvoorbeeld. De onderstaande afbeelding toont de output van hardlopen'rails genereren controller':

Rails – Genereer opdrachten

U gebruikt de opdracht Rails Genereer Scaffold om automatisch het model, de weergave en de controller te maken voor de takenlijsttoepassing die u aan het bouwen bent. Loop'rails genereren steiger todo_list title:string beschrijving: tekst' in uw Terminal (controleer of u zich nog steeds in de map todo_app bevindt).

Hierdoor wordt een volledige CRUD-webinterface (Create, read, update en delete) voor de TodoLists-tabel gemaakt.

Een ander handig commando om te weten is 'rails vernietigen,' het keert wat dan ook om 'rails genereren...' doet.

Rails – routering

Het Rails-routeringssysteem, Rails Router, handelt alle binnenkomende aanvragen naar uw webapplicatie af. Het doet dit door de URL van de inkomende verzoeken te onderzoeken en vervolgens elk verzoek toe te wijzen aan de controlleractie die verantwoordelijk is voor de afhandeling ervan, met behulp van een speciale syntaxis die is gespecificeerd in het routesbestand (config/routes.rb).

Het routes-bestand helpt bij het beheren van elk URL-aspect van uw webapplicatie. Rails gebruikt standaard een RESTful-ontwerp op basis van de REST-architectuurstijl, die een mapping biedt tussen HTTP-werkwoorden en -aanvragen (URL's) naar controlleracties.

Het routesbestand is gegenereerd tijdens het uitvoeren 'rails nieuw' in een eerder gedeelte van deze tutorial. Ga door met de Todo-applicatie die u aan het bouwen bent en voer het volgende uit'rails db:migreren' (je zult binnenkort weten wat dit doet)

Zorg ervoor dat u zich op uw opdrachtregel nog steeds in de hoofdmap van de toepassing bevindt (de map todo_app).

Start vervolgens de server opnieuw met 'rails-server'. Type http://localhost:3000/todo_lists/ in uw browser en druk op Enter. U zou een webpagina terug moeten krijgen zoals weergegeven in de onderstaande afbeelding van het Ruby on Rails-voorbeeld:

Rails – Routing

Dit is de Todo-lijstweergave die door de scaffold-opdracht is gegenereerd en wordt bestuurd door de indexactie van TodoListsController.

Ga je gang en voeg een takenlijst toe door op de 'Nieuwe takenlijst' op de pagina te klikken. Je zou de pagina moeten krijgen zoals hieronder weergegeven:

Rails – Routing

Merk op dat de URL is gewijzigd in http://localhost:3000/todo_lists/new. Dit is de pagina waarop u een nieuwe takenlijst kunt maken en deze wordt beheerd door de nieuwe methode/actie van TodoListsController.

Voer de titel en beschrijving van uw takenlijst in het formulier in en klik op de knop Takenlijst maken. De URL zou moeten veranderen in http://localhost:3000/todo_lists/1, weergegeven in de onderstaande afbeelding van het Ruby on Rails-codevoorbeeld:

Rails – Routing

Dit is de showpagina van een takenlijst en wordt beheerd door de showmethode/actie van de TodoListsController. Als je teruggaat naar http://localhost:3000/todo_lists/, zou je nu de onderstaande afbeelding moeten zien met een nieuwe takenlijst toegevoegd:

Rails – Routing

Rails kon de verschillende verzoeken (URL's) toewijzen aan de overeenkomstige actie van TodoListsController met behulp van de routedefinitie in config/routes.rb.

Als u dit bestand bekijkt, ziet u een enkele regel 'bronnen: todo_lists', is de standaardmanier van Rail om rustgevende routes te schrijven. Deze enkele lijn creëert zeven routes die allemaal zijn toegewezen aan de TodoLists-controller.

Volgens afspraak wordt de actie van elke controller ook toegewezen aan een specifieke CRUD-bewerking (Create, Read, Update en Delete) in de database.

Je kan lopen 'harkroutes' op uw opdrachtregel om de verschillende routes te bekijken die beschikbaar zijn in uw toepassing. De onderstaande afbeelding toont de output van hardlopen 'spoorroutes' in uw opdrachtregel/terminal.

Rails – Routing

Rails – weergaven

De View-laag is een van de componenten van het MVC-paradigma en is verantwoordelijk voor het genereren van HTML-reacties voor elk verzoek aan uw applicatie. Rails gebruiken standaard ERB (Embedded Ruby), een krachtig sjabloonsysteem voor Ruby.

ERB maakt het schrijven van sjablonen eenvoudig en onderhoudbaar door platte tekst te combineren met Ruby-code voor variabele vervanging en stroomcontrole. Een ERB-sjabloon heeft de extensie .html, .erb of .erb.

Meestal gebruikt u slechts een combinatie van twee tagmarkeringen, die er elk voor zorgen dat de ingesloten code op een bepaalde manier wordt verwerkt en verwerkt.

Een tag met een gelijkteken '<%= %>' geeft aan dat ingebedde code een expressie is en dat het resultaat van de code moet worden vervangen door de renderer wanneer deze de sjabloon rendert.

De andere tag zonder gelijkteken '<% %>' geeft aan de renderer aan dat het resultaat van de code niet mag worden vervangen/afgedrukt wanneer de sjabloon wordt weergegeven.

Elke controller in uw Rails-toepassing heeft een overeenkomstige submap in app/weergaven, en elke actie/methode in een controller heeft een corresponderend .html- en .erb-bestand in deze map.

Bekijk de app/weergaven van de todo-app die je aan het bouwen bent. U zult een submap vinden met de naam 'todo_lists' in deze submap .html.erb bestanden met namen die overeenkomen met de acties/methoden in het Takenlijsten controller.

Rails – ActiveRecord, Actief Recordpatroon en ORM

ActiveRecord is de Ruby-implementatie van het Active Record-patroon, een eenvoudig patroon waarbij een klasse een tabel vertegenwoordigt, en een exemplaar van de klasse een rij in die klasse vertegenwoordigt.

ActiveRecord wordt in de volksmond ORM (Object Relational Mapping) genoemd, een techniek waarmee u uw database kunt beheren in een taal waarmee u het meest vertrouwd bent. Het is database-agnostisch, dus u kunt eenvoudig schakelen tussen databases (bijvoorbeeld SQLite, MySQL, PostgreSQL, SQL-server, Oracle, enz.). Deze suite is meer geschikt voor uw toepassingsvereisten met dezelfde code/logica.

Dus als u een array wilt krijgen met een lijst van alle takenlijsten in uw toepassing, dus in plaats van code te schrijven om een ​​verbinding met de database te initiëren, vervolgens een soort SQL SELECT-query uit te voeren en die resultaten om te zetten in een reeks.

Daarvoor hoeft u alleen maar 'TodoList.all' te typen en Active Record geeft je de array gevuld met TodoList-objecten waarmee je kunt spelen zoals je wilt.

Het enige wat u hoeft te doen is de juiste configuratie in te stellen config / database.yml, en Active Record zal alle verschillen tussen de verschillende databasesystemen uitwerken. Wanneer u dus van de een naar de ander overstapt, hoeft u daar niet over na te denken.

U richt zich op het schrijven van code voor uw applicatie en Active Record denkt na over de low-level details van het verbinden met uw database. Active Record maakt gebruik van naamgevingsconventies om de mapping tussen modellen en databasetabellen te maken.

Rails maakt de namen van uw modelklassen meervoudig om de overeenkomstige databasetabel te vinden. Voor een klasse TodoList zal ActiveRecord dus een databasetabel maken met de naam TodoLists.

Spoorwegen – Migraties

Rails-migratie is eenvoudigweg een script dat u gebruikt om uw applicatiedatabase te bewerken. Het wordt gebruikt om uw database in te stellen of te wijzigen en vermijdt het handmatig schrijven van SQL-code om dat te doen.

Het gebruikt Ruby om wijzigingen in het databaseschema te definiëren en maakt het mogelijk om versiebeheer te gebruiken om uw database gesynchroniseerd te houden.

Rails Migraties maakt gebruik van een Ruby Domain Specific Language (DSL). Dit fungeert als een abstractie en maakt het mogelijk om uw database-engine te gebruiken of te wijzigen op basis van uw vereisten.

Ze kunnen worden gedeeld met iedereen die aan de applicatie werkt en kunnen ook worden teruggedraaid om eventuele wijzigingen in de database ongedaan te maken. Dit is een mechanisme met een hoog veiligheidsniveau, omdat u zich geen zorgen hoeft te maken over het aanrichten van permanente schade aan uw database.

Rails – ActiveRecord-associaties

Een verbinding tussen twee ActiveRecord-modellen staat bekend als een associatie. Associatie maakt het veel eenvoudiger om bewerkingen uit te voeren op de verschillende records in uw code. Het kan worden onderverdeeld in vier categorieën: –

One to One: – Dit geeft aan dat een record precies één exemplaar van een ander model bevat. Een goed voorbeeld is het gebruikersprofiel. Een gebruiker heeft slechts één profiel. Het gebruikt heeft een trefwoord.

Een te veel: – Dit is de meest voorkomende associatie en geeft aan dat een model nul of meer exemplaren van een ander model heeft. Jouw gebruik heeft een _veel trefwoord om deze associatie aan te duiden.

Veel te veel: – Deze koppeling is iets ingewikkelder en ActiveRecord biedt twee manieren om hiermee om te gaan. De ... gebruiken heeft_en_behoort_tot_velen en heeft veel, waarmee u toegang krijgt tot de relatie die in een aparte tabel is gedefinieerd.

Polymorf één tot veel: - Dit is een meer geavanceerde associatie die voor u beschikbaar is in Rails. U kunt het gebruiken om een ​​model te definiëren dat tot veel verschillende modellen in één associatie kan behoren.

Rails – ActiveRecord-validaties

Validatie helpt ervoor te zorgen dat u over de juiste gegevens beschikt, omdat het werken met verkeerde gegevens vreselijk is en u geld en omzet kan kosten.

Validatie biedt ook een extra beveiligingslaag voor uw applicatie tegen kwaadwillende gebruikers die toegang krijgen tot informatie in uw database. Rails biedt u een mooie API met validatiehulpmiddelen in ActiveRecord om uw database schoon, veilig en vrij van fouten te houden.

ActiveRecord-validaties worden uitgevoerd op modelobjecten voordat ze in de database worden opgeslagen, waardoor ze betrouwbaarder worden en ook de beste praktijken zijn die u kunt volgen bij het bouwen van uw applicatie.

De volgende ActiveRecord-methoden roepen validaties op wanneer ze worden gebruikt of aangeroepen op modelobjecten: creëren, creëren!, opslaan, opslaan!, updaten en updaten!. Degenen met een knal (creëren!, opslaan! en bijwerken!) een uitzondering genereren als een record ongeldig is terwijl dit niet het geval is.

De meest voorkomende ActiveRecord-validatiehulpmiddelen die tot uw beschikking staan ​​zijn: -

Bevestiging:– Deze validatiehulp is handig voor het valideren van twee velden met dezelfde invoer. Bijvoorbeeld wachtwoord en wachtwoordbevestiging, het wordt gebruikt in combinatie met de aanwezigheidsvalidatiehelper.

Presence:– Hiermee wordt gecontroleerd of het veld niet leeg is.

uniciteit: zorgt voor een unieke waarde voor een veld, bijvoorbeeld gebruikersnaam

Lengte:- Om een ​​limiet op de tekenlengte van een veld af te dwingen

U kunt ook uw aangepaste validatie maken door de validate-methode te gebruiken en de naam van de aangepaste validatiemethode door te geven.

Je kunt het model controleren fout bezwaar maken om erachter te komen waarom een ​​validatie. Hopelijk heeft u enkele ideeën om uw applicatie beperkter en beter beveiligd te maken, zodat alleen beveiligde gegevens in uw database worden toegelaten.

Rails – ActieController

De Rails-controller is het middelpunt van uw webapplicatie. Het faciliteert en coördineert de communicatie tussen de gebruiker, de modellen en de views.

Uw controllerklassen erven van de ApplicationController, die code bevat die in alle andere controllers kan worden uitgevoerd, en neemt over van de ActionController-klasse.

De controller biedt uw toepassing het volgende:

  • Het stuurt externe verzoeken door naar interne acties
  • Het slaagt erin om te cachen, waardoor de prestaties van uw applicatie verbeteren
  • Het beheert hulpmethoden die de mogelijkheden van weergavesjablonen uitbreiden. Het beheert ook gebruikerssessies, waardoor ze een soepele ervaring krijgen met het gebruik van uw app.

Rails – Configuraties

U kunt de verschillende componenten configureren, zoals initializers, assets, generators, middlewares, etc. Door uw Rails-applicatie-initializers en configuratiebestanden in de config-directory te gebruiken. Bestanden zoals config/application.rb, config/environments/development.rb en config/environments/test.rb etc. U kunt ook aangepaste instellingen configureren voor uw applicatie.

Rails – Foutopsporing

Terwijl u uw applicatie uitbreidt, zal er een tijd komen dat u uw code moet/moet debuggen. Rails maken dit gemakkelijk met behulp van de byebug-edelsteen. U kunt een foutopsporingssessie starten door het trefwoord 'byebeg' ergens in uw applicatiecode te plaatsen.

Hierdoor wordt de uitvoering op dat moment tijdelijk stopgezet. De byebug-edelsteen geeft je verschillende commando's die je kunt gebruiken. De handigste zijn:

  • volgende: commando waarmee u naar de volgende regel code kunt gaan, waarbij u alle methoden overslaat die worden aangeroepen door de uitvoering van de huidige regel.
  • stap: dit is vergelijkbaar met het 'volgende' commando, maar zorgt ervoor dat u in elk aangeroepen commando stapt.
  • breken: dit stopt de uitvoering van de code.
  • voortzetten vervolgt de uitvoeringscode.

Er zijn andere foutopsporingsedelstenen beschikbaar, zoals 'pry', en ze bieden allemaal vergelijkbare functionaliteiten, maar een iets andere syntaxis. Foutopsporingsedelstenen mogen niet worden gebruikt in de productie, omdat dit risico's met zich meebrengt voor uw toepassing en een slechte ervaring voor de gebruikers van uw toepassing met zich meebrengt.

Er zijn logbestanden die u kunt inspecteren op fouten in de productie en deze kunt afhandelen. Bovendien moet u bij het ontwikkelen van uw applicatie een TDD-aanpak (Test-driven development) volgen om ervoor te zorgen dat alles goed werkt voordat u deze in productie neemt.

Samenvatting

  • Ruby is een pure objectgeoriënteerde programmeertaal
  • Ruby heeft een elegante syntaxis die zowel gemakkelijk te lezen als te schrijven is.
  • Rails is een ontwikkelingsframework, geschreven in Ruby, voor het bouwen van webapplicaties
  • Het installatieproces is afhankelijk van uw besturingssysteem.
  • Rails is verpakt als een Ruby-edelsteen en je kunt er allerlei toepassingen mee bouwen.
  • In deze zelfstudie maakt u een Todo-lijsttoepassing. Voer de followincomm'n'n' 'rails netoda'p'p'p' uit in uw terminal om de toepassing te maken.
  • De opdracht Rails genereren maakt gebruik van sjablonen om een ​​heleboel nuttige dingen in uw toepassing te creëren.
  • Het Rails routing systeem, rails router helpt u bij het afhandelen van alle binnenkomende verzoeken naar uw webapplicatie.
  • De View-laag is een van de componenten van het MVC-paradigma en is verantwoordelijk voor het genereren van HTML-reacties voor elk verzoek aan uw applicatie.
  • ActiveRecord is de Ruby-implementatie van het Active Record-patroon.
  • Rails-migratie is eenvoudigweg een script dat u gebruikt om uw applicatiedatabase te bewerken.
  • Een verbinding tussen twee ActiveRecord-modellen staat bekend als een associatie.
  • Validatie helpt ervoor te zorgen dat u over de juiste gegevens beschikt, omdat het werken met verkeerde gegevens vreselijk is en u geld en omzet kan kosten.
  • De Rails-controller helpt u bij het faciliteren en coördineren van de communicatie tussen de gebruiker, de modellen en de views.
  • Rail helpt u bij het configureren van de verschillende componenten, zoals initializers, assets, generators, middlewares, etc.