Ruby on Rails-Tutorial

Was ist Rubin?

Ruby ist eine hochrangige, interpretierte und objektorientierte Programmiersprache. Es ist eine dynamische Open-Source-Sprache mit einer groรŸartigen Community. Ruby wurde fรผr Einfachheit und Produktivitรคt entwickelt. Es fรถrdert das Schreiben von Softwarecode, der zuerst vom Menschen und dann vom Computer erstellt wird. Es wurde 1995 von Yukihiro Matsumoto in Japan entwickelt.

Was ist Rails?

Schienen ist ein in Ruby geschriebenes Entwicklungsframework zum Erstellen von Webanwendungen. Es wurde als Grundlage fรผr die Anwendung Basecamp erstellt und 2004 als Open-Source-Software verรถffentlicht. Rails bietet viele integrierte Standardfunktionen und -funktionen, was es zu einer geeigneten Option fรผr MVP-Prototyping und -Entwicklung macht.

Es wurde von David Heinemeier Hasson entwickelt, der im Volksmund als DHH bekannt ist. Es ist eines der einflussreichsten und beliebtesten Tools zum Erstellen von Webanwendungen. Es wird von einigen der beliebtesten Websites wie Airbnb verwendet. Github, Shopify usw.

Warum Schienen?

Hier sind die Vorteile/Vorteile der Verwendung von Rails:

  • Rails ist als Ruby-Gem verpackt und Sie kรถnnen damit eine Vielzahl von Anwendungen erstellen.
  • Sie kรถnnen damit normale Webanwendungen, E-Commerce-Anwendungen, Content-Management-Systeme und mehr erstellen.
  • Rails ist ein Full-Stack-Framework, das alles enthรคlt, was Sie zum Erstellen einer datenbankgesteuerten Webanwendung unter Verwendung des Model-View-Controller-Musters benรถtigen.
  • Das bedeutet, dass alle Ebenen so aufgebaut sind, dass sie mit weniger Code nahtlos zusammenarbeiten. Es erfordert weniger Codezeilen als andere Frameworks.

So laden Sie Ruby herunter und installieren es Windows

Der Installationsvorgang hรคngt von Ihrem Betriebssystem ab. Sie werden Ruby auf Ihrem Computer installieren. Windows, Mac und Linux.

Schritt 1) Laden Sie Rubyinstaller herunter
Der einfachste Weg, Ruby auf Ihrem zu installieren Windows Die Installation Ihres Computers erfolgt รผber den Ruby Installer, den Sie hier herunterladen kรถnnen https://rubyinstaller.org/.

Sie mรผssen lediglich das heruntergeladene Installationsprogramm ausfรผhren.

Schritt 2) Klicken Sie auf das heruntergeladene Installationsprogramm
Double-Klicken Sie auf das heruntergeladene Installationsprogramm โ€žrubyinstaller-2.4.1-2-x64.exeโ€œ.

Schritt 3) Akzeptieren Sie die Lizenz
Wรคhlen Sie das Optionsfeld โ€žIch akzeptiere die Lizenzโ€œ und klicken Sie auf die Schaltflรคche โ€žWeiterโ€œ. Dies sollte Sie zur nรคchsten Abbildung unten bringen:

Laden Sie Ruby herunter und installieren Sie es Windows

Schritt 4) Aktivieren Sie die ersten beiden Kontrollkรคstchen
Aktivieren Sie die ersten beiden Kontrollkรคstchen, um das Ausfรผhren von Ruby-Skripten zu vereinfachen.

Klicken Sie auf die Schaltflรคche โ€žInstallierenโ€œ, um die Installation zu starten. Sobald die Installation abgeschlossen ist, sollten Sie die Abbildung unten sehen.

Laden Sie Ruby herunter und installieren Sie es Windows

Schritt 5) Klicken Sie auf Fertig stellen
Deaktivieren Sie nicht das Kontrollkรคstchen zur Installation von MSYS2. Klicken Sie auf โ€žFertig stellenโ€œ, um die Installation abzuschlieรŸen. Daraufhin wird ein Eingabeaufforderungsfenster angezeigt, das in der Abbildung unten dargestellt ist.

Laden Sie Ruby herunter und installieren Sie es Windows

Schritt 6) Installiert MSYS2
Dieser Schritt installiert MSYS2, eine Erstellungsplattform, die รผber einen Paketmanager fรผr die einfache Installation von Paketen verfรผgt Windows.

Drรผcken Sie die Eingabetaste, um alle Komponenten zu installieren, da sie alle fรผr eine reibungslose Ruby on Rails-Entwicklungsumgebung zum Arbeiten erforderlich sind Windows.

Laden Sie Ruby herunter und installieren Sie es Windows

Schienen installieren

Sie sollten Ruby aus dem vorherigen Abschnitt installiert haben, und jetzt werden Sie Rails installieren. Sie kรถnnen Rails mit einem Paket von installieren RailsInstaller, aber das Problem dabei ist, dass Sie nicht die neueste Version der erforderlichen Pakete erhalten.

Wenn Sie bereits die neueste Version von Ruby und einen Basissatz der erforderlichen RubyGems und Erweiterungen installiert haben, mรผssen Sie jetzt nur noch den folgenden Befehl in der Eingabeaufforderung ausfรผhren, um Rails auf Ihr System zu bekommen: โ€žgem install railsโ€œ.

Sie mรผssen auch installieren Node.js wenn Sie es noch nicht haben, da einige Bibliotheken, von denen Rails abhรคngt, ein Javascript Laufzeit, damit sie richtig funktioniert. Sie kรถnnen den Knoten unter https://nodejs.org.

Es handelt sich um einen hรคufigeren und bevorzugten Ansatz zur Weiterentwicklung WindowsDie Rails-Community verwendet eine Windows Subsystem fรผr Linux, das eine GNU/Linux-Umgebung mit Befehlszeilentools, Dienstprogrammen und allgemeinen Anwendungen direkt bereitstellt Windows.

Ruby auf dem Mac installieren

Auf Ihrem Mac ist Ruby bereits vorinstalliert. Da die vorinstallierte Version jedoch mรถglicherweise veraltet ist, mรผssen Sie eine neue/neueste Version installieren.

Am einfachsten geht das mit einem Paketmanager wie z.B Homebrew. Mรถglicherweise mรผssen Sie Homebrew zuerst installieren, indem Sie den folgenden Befehl am Terminal ausfรผhren.

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

Daraufhin wird eine Warnung angezeigt und Sie werden aufgefordert, Ihr Passwort einzugeben. Geben Sie Ihr Mac-Passwort ein (die Zeichen werden wรคhrend der Eingabe nicht angezeigt). Drรผcken Sie einfach die Eingabetaste, wenn Sie mit der Eingabe Ihres Passworts fertig sind. Fรผhren Sie dann diesen einfachen Homebrew-Befehl aus, um Ruby auf Ihrem Mac zu installieren.

brew install ruby

Und fรผhren Sie auch diesen Befehl aus:

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

Um diese Ruby-Installation als Standard-Ruby festzulegen, die auf Ihrem System ausgefรผhrt werden soll, und nicht als vorinstalliertes Ruby.

Um zu bestรคtigen, dass die Installation erfolgreich war, kรถnnen Sie Folgendes im Terminal ausfรผhren

ruby --version

Dadurch wird die von Ihnen installierte Ruby-Versionsnummer gedruckt. Die Ausgabe sieht in etwa so aus

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

Ruby installieren auf Ubuntu (Linux)

Der einfachste Weg, Ruby auf Ihrem Computer zu installieren Ubuntu System ist รผber den apt-Paketmanager. Sie mรผssen die folgenden Befehle im Terminal ausfรผhren, um das neueste Ruby von zu installieren Ubuntu Repositories.

  • Sudo apt-Update โ€“ Dadurch wird die Standardeinstellung aktualisiert Ubuntu Repositories
  • sudo apt install ruby-full โ€“ Es wird das neueste Ruby herunterladen und installieren

Um zu bestรคtigen, dass die Installation erfolgreich war, kรถnnen Sie Folgendes ausfรผhren 'Rubin-Version,' Dadurch wird die von Ihnen installierte Ruby-Version gedruckt.

Schienen anbringen Ubuntu (Linux)

Sie sollten die folgenden Schritte ausfรผhren, um Rails erfolgreich auf Ihrem Linux-Computer zu installieren.

Schritt 1) Aktualisieren Sie den Gem-Manager Ihres Computers, indem Sie ihn ausfรผhren 'gem update โ€“system' am Terminal oder an der Eingabeaufforderung.

Schritt 2) Fรผhren Sie 'gem install schienen' um die neueste Version von Rails auf Ihrem Computer zu installieren.

Schritt 3) Sie sollten Bundler Gem installieren, um die Gem-Abhรคngigkeitsverwaltung der Rails-Anwendung zu vereinfachen. Laufen 'gem install bundler' es bekommen.

Zwei Prinzipien von Rails

Rails folgen grundlegenden Software-Designprinzipien und ermutigen Sie, diese Prinzipien auch anzuwenden.

Die beiden hรคufigsten sind:

  • Wiederholen Sie sich nicht (DRY) โ€“ so schreiben Sie prรคgnanten, konsistenten und wartbaren Code.
  • Konvention vor Konfiguration โ€“ Rails ist vorkonfiguriert, um sinnvolle Standardeinstellungen zu verwenden, die fรผr die gรคngigsten Anwendungen geeignet sind. Dadurch wird Ihre Anwendungsentwicklung schneller und Sie mรผssen weniger Code pflegen.

Rails โ€“ Projektdateistrukturen

Nachdem Rails nun auf Ihrem System installiert ist, kรถnnen wir eine Rails-Anwendung erstellen! In diesem Ruby on Rails-Tutorial lernen wir Beispiele fรผr Ruby on Rails und erfahren, wie man eine To-do-Listen-Anwendung erstellt. Fรผhren Sie den folgenden Befehl aus 'rails new todo_app' in Ihrem Terminal, um die Anwendung zu erstellen.

Dieser Befehl erstellt ein Verzeichnis mit dem Namen 'todo_app' im aktuellen Verzeichnis mit der grundlegenden Ordnerstruktur einer Rails-Webanwendung, wie in der folgenden Abbildung dargestellt:

Rails โ€“ Projektdateistrukturen

Sie werden die Hauptverzeichnisse in diesem Ruby on Rails-Beispiel durchgehen.

App โ€“ Dieses Verzeichnis gruppiert mithilfe verschiedener Unterverzeichnisse fรผr die Benutzeroberflรคche/das Layout (Ansichten und Hilfsprogramme), den Controller (Controller-Dateien) und die Modelle (Geschรคfts-/Anwendungslogik).

App/Controller โ€“ In diesem Verzeichnis werden Controller-Dateien gespeichert, die Rails zur Bearbeitung von Anfragen des Clients verwendet.

App/Assets โ€“ Es enthรคlt statische Dateien, die fรผr das Frontend der Anwendung erforderlich sind und je nach Typ in Ordner gruppiert werden โ€“ JavaSkript Dateien, Bilder und Stylesheets.

App/Helfer โ€“ Dieses Unterverzeichnis enthรคlt Hilfsfunktionen, die Ihr Anwendungsmodell, Ihre Ansicht und Ihre Controller-Logik fokussiert, klein und รผbersichtlich machen.

App/Modelle โ€“ Dies enthรคlt Dateien

die die Datenbank Ihrer Anwendung modellieren. Die Modellklassen machen die Arbeit mit der Datenbank sehr einfach.

App/Ansichten โ€“ Diese enthalten Vorlagen-/Layoutdateien, mit denen der Benutzer Ihrer Anwendung interagiert. Die Vorlagen sind eine Kombination aus HTML und Daten aus der Datenbank.

Behรคlter - Es enthรคlt Rails-Skripte, die Ihre Anwendung starten. Es kann auch andere Skripte enthalten, die Sie zum Einrichten und Aktualisieren der Anwendung verwenden.

Konfiguration โ€“ Dies enthรคlt Konfigurationsdateien โ€“ Datenbank.yml, Umgebung.rb, Routen.rbusw., die Ihre Anwendung ausfรผhren muss.

DB โ€“ Dieses Verzeichnis enthรคlt Dateien/Skripte, die zur Verwaltung Ihrer Anwendungsdatenbank verwendet werden.

lib โ€“ Dieses Verzeichnis enthรคlt ein erweitertes Modul fรผr Ihre Anwendung.

Protokoll - Dies enthรคlt Protokolldateien โ€“ server.log, development.log, test.log und Production.logusw., die zum Debuggen oder รœberwachen Ihrer Anwendung verwendet werden.

Publikum - Dieses Verzeichnis enthรคlt statische Dateien und kompilierte Assets, wie z. B. HTML-Dateien, Javascript Dateien, Bilder und Stylesheets.

Prรผfung - Dieses Verzeichnis enthรคlt Testdateien, die Sie schreiben, um die Funktionalitรคt Ihrer Anwendung zu testen.

tmp โ€“ Dieses Verzeichnis enthรคlt temporรคre Dateien wie Cache- und PID-Dateien.

Verkรคufer - Dieses Verzeichnis enthรคlt Bibliotheken von Drittanbietern.

Gemfile โ€“ Diese Datei gibt an, welche grundlegenden Gem-Anforderungen Sie zum Ausfรผhren Ihrer Webanwendung benรถtigen. Sie kรถnnen die Gems in Entwicklung, Test oder Produktion gruppieren und Rails weiรŸ, wann jedes Gem eingebunden werden muss.

Gemfile.lock โ€“ Im Gegensatz zur Gemfile, die explizit die Gems auflistet, die Sie in Ihrer Anwendung haben mรถchten, enthรคlt Gemfile.lock zusรคtzlich andere Gems, von denen die in der Gemfile aufgelisteten Gems abhรคngig sind und die dann automatisch installiert werden, um die Abhรคngigkeiten zu erfรผllen.

Readme.md โ€“ Sie verwenden diese Datei, um wichtige Details zu Ihrer Anwendung mitzuteilen, z. B. was die App tut, wie die Anwendung installiert und ausgefรผhrt wird.

Rakefile โ€“ Diese Datei enthรคlt verschiedene Rake-Aufgabendefinitionen, die bei der Automatisierung alltรคglicher Verwaltungsaufgaben Ihrer Anwendung helfen.

config.ru โ€“ Dies ist eine Rack-Konfigurationsdatei, die eine Schnittstelle zum Webserver zum Starten Ihrer Anwendung bereitstellt.

Wechseln Sie in das Verzeichnis 'todo_app' Verzeichnis Rails generiert und ausgefรผhrt 'Rails-Server' um die Anwendung zu starten. Typ localhost: 3000 Wenn alles gut gelaufen ist, sollten Sie in der Adressleiste Ihres Webbrowsers die folgende Abbildung sehen.

Rails โ€“ Projektdateistrukturen

Dies ist die Standard-Homepage Ihrer Anwendung. Sie werden diese im spรคteren Abschnitt dieses Ruby on Rails-Tutorials รคndern. Sie kรถnnen den Server stoppen, indem Sie 'Strg-C'.

Rails โ€“ Befehle generieren

Der Rails-Befehl โ€žgenerateโ€œ verwendet Vorlagen, um eine ganze Reihe nรผtzlicher Dinge in Ihrer Anwendung zu erstellen. Mit diesen Generatoren kรถnnen Sie viel Zeit sparen.

Es hilft, indem es Boilerplate-Code schreibt, Code, der fรผr das Funktionieren Ihrer Webanwendung erforderlich ist. Du kannst rennen 'Schienen generieren' allein in der Eingabeaufforderung oder im Terminal, um eine Liste der verfรผgbaren Generatoren anzuzeigen, wie unten dargestellt:

Rails โ€“ Befehle generieren

Sie kรถnnen auch laufen 'Schienen generieren โ€žBefehlโ€œโ€˜ um eine Beschreibung der Funktion des Befehls anzuzeigen. Es bietet praktische Optionen, die mit dem Befehl und dem Anwendungsbeispiel ausgefรผhrt werden kรถnnen. Die folgende Abbildung zeigt die Ausgabe des Ausfรผhrensโ€žSchienen generieren Controllerโ€œ:

Rails โ€“ Befehle generieren

Sie verwenden den Befehl โ€žRails Generate Scaffoldโ€œ, um automatisch das Modell, die Ansicht und den Controller fรผr die Aufgabenlistenanwendung zu erstellen, die Sie erstellen. Laufenโ€žRails generieren Gerรผst todo_list Titel:String Beschreibung: Textโ€œ in Ihrem Terminal (รผberprรผfen Sie, ob Sie sich noch im todo_app-Verzeichnis befinden).

Dadurch wird eine vollstรคndige CRUD-Weboberflรคche (Erstellen, Lesen, Aktualisieren und Lรถschen) fรผr die TodoLists-Tabelle erstellt.

Ein weiterer nรผtzlicher Befehl ist โ€žSchienen zerstรถrenโ€œ, es kehrt alles um โ€žSchienen erzeugenโ€ฆโ€œ tut.

Schienen โ€“ Streckenfรผhrung

Das Rails-Routing-System, der Rails-Router, verarbeitet alle eingehenden Anfragen an Ihre Webanwendung. Dazu untersucht es die URL der eingehenden Anfragen und ordnet dann jede Anfrage der Controller-Aktion zu, die fรผr deren Verarbeitung verantwortlich ist. Dabei wird eine spezielle Syntax verwendet, die in der Routendatei angegeben ist (config / route.rb).

Die Routendatei hilft bei der Steuerung aller URL-Aspekte Ihrer Webanwendung. Rails verwendet standardmรครŸig ein RESTful-Design basierend auf dem REST-Architekturstil, das eine Zuordnung zwischen HTTP-Verben und -Anfragen (URLs) zu Controller-Aktionen bereitstellt.

Die Routendatei wurde bei der Ausfรผhrung generiert 'Schienen neu' in einem frรผheren Abschnitt dieses Tutorials. Fahren Sie mit der Todo-Anwendung fort, die Sie erstellen, und fรผhren Sie Folgendes aus'Rails db:migrate' (Sie werden in Kรผrze erfahren, was das bewirkt)

Stellen Sie in Ihrer Befehlszeile sicher, dass Sie sich immer noch im Stammverzeichnis der Anwendung befinden (dem todo_app-Verzeichnis).

AnschlieรŸend starten Sie den Server erneut mit 'Rails-Server'. Art http://localhost:3000/todo_lists/ in Ihrem Browser ein und drรผcken Sie die Eingabetaste. Sie sollten eine Webseite zurรผckerhalten, wie in der folgenden Abbildung des Ruby on Rails-Beispiels gezeigt:

Schienen โ€“ Routing

Dies ist die Todo-Listenansicht, die vom Scaffold-Befehl generiert wurde und durch die Indexaktion des TodoListsControllers gesteuert wird.

Fahren Sie fort und fรผgen Sie eine Aufgabenliste hinzu, indem Sie auf der Seite auf โ€žNeue Aufgabenlisteโ€œ klicken. Sie sollten die Seite wie unten gezeigt sehen:

Schienen โ€“ Routing

Beachten Sie, dass die URL geรคndert wurde http://localhost:3000/todo_lists/new. Dies ist die Seite zum Erstellen einer neuen Aufgabenliste. Sie wird durch die neue Methode/Aktion des TodoListsControllers gesteuert.

Geben Sie den Titel und die Beschreibung Ihrer Aufgabenliste in das Formular ein und klicken Sie auf die Schaltflรคche โ€žAufgabenliste erstellenโ€œ. Die URL sollte sich in รคndern http://localhost:3000/todo_lists/1, dargestellt in der folgenden Abbildung eines Ruby on Rails-Codebeispiels:

Schienen โ€“ Routing

Dies ist die Anzeigeseite einer Aufgabenliste und wird durch die Anzeigemethode/-aktion des TodoListsControllers gesteuert. Wenn Sie zurรผckgehen http://localhost:3000/todo_lists/, Sie sollten nun die folgende Abbildung mit einer neuen hinzugefรผgten Aufgabenliste sehen:

Schienen โ€“ Routing

Rails konnte die verschiedenen Anfragen (URLs) mithilfe der Routendefinition in config/routes.rb der entsprechenden TodoListsController-Aktion zuordnen.

Wenn Sie einen Blick auf diese Datei werfen, sehen Sie eine einzelne Zeile 'Ressourcen: todo_lists'ist die Standardmethode von Rails zum Schreiben erholsamer Routen. Diese einzelne Zeile erstellt sieben Routen, die alle dem TodoLists-Controller zugeordnet sind.

Per Konvention wird die Aktion jedes Controllers auch einer bestimmten CRUD-Operation (Erstellen, Lesen, Aktualisieren und Lรถschen) in der Datenbank zugeordnet.

Du kannst rennen 'Rake-Routen' in Ihrer Befehlszeile, um die verschiedenen in Ihrer Anwendung verfรผgbaren Routen anzuzeigen. Die folgende Abbildung zeigt die Ausgabe des Ausfรผhrens โ€žSchienenstreckenโ€œ in Ihrer Befehlszeile/Terminal.

Schienen โ€“ Routing

Schienen โ€“ Ansichten

Die View-Ebene ist eine der Komponenten des MVC-Paradigmas und fรผr die Generierung einer HTML-Antwort fรผr jede Anfrage an Ihre Anwendung verantwortlich. Rails verwendet standardmรครŸig ERB (Embedded Ruby), ein leistungsstarkes Template-System fรผr Ruby.

ERB macht das Schreiben von Vorlagen einfach und wartbar, indem es Klartext mit Ruby-Code zur Variablenersetzung und Flusskontrolle kombiniert. Eine ERB-Vorlage hat die Erweiterung .html, .erb oder .erb.

Sie werden meist nur eine Kombination aus zwei Tag-Markern verwenden, die jeweils dafรผr sorgen, dass der eingebettete Code auf eine bestimmte Art und Weise verarbeitet und gehandhabt wird.

Ein Tag mit einem Gleichheitszeichen '<%= %>' gibt an, dass eingebetteter Code ein Ausdruck ist und dass das Ergebnis des Codes vom Renderer beim Rendern der Vorlage ersetzt werden soll.

Das andere Tag ohne Gleichheitszeichen '<% %>' Gibt dem Renderer an, dass das Ergebnis des Codes beim Rendern der Vorlage nicht ersetzt/gedruckt werden soll.

Jeder Controller in Ihrer Rails-Anwendung verfรผgt รผber ein entsprechendes Unterverzeichnis in App/Ansichten, und jede Aktion/Methode in einem Controller verfรผgt รผber eine entsprechende .html- und .erb-Datei in diesem Verzeichnis.

Sehen Sie sich die App/Ansichten der Aufgaben-App an, die Sie erstellen. Sie finden ein Unterverzeichnis mit dem Namen 'todo_lists' in diesem Unterverzeichnis .html.erb Dateien mit Namen, die den Aktionen/Methoden in der entsprechen TodoListen Regler.

Schienen โ€“ ActiveRecord, Active Record Pattern und ORM

ActiveRecord ist die Ruby-Implementierung des Active Record-Musters, einem einfachen Muster, bei dem eine Klasse eine Tabelle und eine Instanz der Klasse eine Zeile in dieser Klasse darstellt.

ActiveRecord wird im Volksmund als ORM (Object Relational Mapping) bezeichnet, eine Technik, die es Ihnen ermรถglicht, Ihre Datenbank in einer Sprache zu verwalten, mit der Sie am besten vertraut sind. Es ist datenbankunabhรคngig, sodass Sie problemlos zwischen Datenbanken wechseln kรถnnen (z. B SQLite, MySQL, PostgreSQL, SQL Server, Oracle, usw.). Diese Suite ist mit dem gleichen Code/der gleichen Logik besser auf Ihre Anwendungsanforderungen zugeschnitten.

Wenn Sie also ein Array erhalten mรถchten, das eine Liste aller ToDo-Listen in Ihrer Anwendung enthรคlt, schreiben Sie nicht Code, um eine Verbindung zur Datenbank herzustellen, sondern fรผhren Sie eine Art SQL-SELECT-Abfrage durch und konvertieren Sie diese Ergebnisse in eine Array.

Dazu mรผssen Sie nur โ€žTodoList.allโ€œ eingeben. und Active Record gibt Ihnen das mit TodoList-Objekten gefรผllte Array, mit dem Sie nach Belieben spielen kรถnnen.

Sie mรผssen lediglich die richtige Konfiguration einrichten config/database.yml, und Active Record ermittelt alle Unterschiede zwischen den verschiedenen Datenbanksystemen. Wenn Sie also von einem zum anderen wechseln, mรผssen Sie nicht darรผber nachdenken.

Sie konzentrieren sich auf das Schreiben des Codes fรผr Ihre Anwendung, und Active Record kรผmmert sich um die grundlegenden Details Ihrer Verbindung mit Ihrer Datenbank. Active Record verwendet Namenskonventionen, um die Zuordnung zwischen Modellen und Datenbanktabellen zu erstellen.

Rails pluralisiert Ihre Modellklassennamen, um die entsprechende Datenbanktabelle zu finden. Fรผr eine Klasse TodoList erstellt ActiveRecord also eine Datenbanktabelle namens TodoLists.

Schienen โ€“ Migrationen

Bei der Rails-Migration handelt es sich lediglich um ein Skript, mit dem Sie Ihre Anwendungsdatenbank bearbeiten. Es wird zum Einrichten oder ร„ndern Ihrer Datenbank verwendet und macht das manuelle Schreiben von SQL-Code zu diesem Zweck รผberflรผssig.

Es verwendet Ruby, um ร„nderungen am Datenbankschema zu definieren und ermรถglicht die Verwendung der Versionskontrolle, um Ihre Datenbank synchron zu halten.

Rails-Migrationen verwenden eine Ruby Domain Specific Language (DSL). Dies fungiert als Abstraktion und ermรถglicht es, Ihre Datenbank-Engine entsprechend Ihren Anforderungen zu verwenden oder zu รคndern.

Sie kรถnnen mit jedem geteilt werden, der an der Anwendung arbeitet, und kรถnnen auch zurรผckgesetzt werden, um etwaige ร„nderungen an der Datenbank rรผckgรคngig zu machen. Dies ist ein Mechanismus mit hoher Sicherheit, da Sie sich keine Sorgen machen mรผssen, dass Ihre Datenbank dauerhaft beschรคdigt wird.

Rails โ€“ ActiveRecord-Zuordnungen

Eine Verbindung zwischen zwei ActiveRecord-Modellen wird als Assoziation bezeichnet. Assoziationen erleichtern die Durchfรผhrung von Operationen an den verschiedenen Datensรคtzen in Ihrem Code erheblich. Sie kรถnnen in vier Kategorien unterteilt werden: โ€“

One to One: โ€“ Dies zeigt an, dass ein Datensatz genau eine Instanz eines anderen Modells enthรคlt. Ein gutes Beispiel ist das Benutzerprofil. Ein Benutzer hat nur ein Profil. Es benutzt hat _einen Stichwort.

Eins zu viele: โ€“ Dies ist die hรคufigste Assoziation und zeigt an, dass ein Modell null oder mehr Instanzen eines anderen Modells hat. Ihr Nutzen hat ein _many Schlรผsselwort zur Bezeichnung dieser Assoziation.

Viel zu viel: โ€“ Diese Zuordnung ist etwas komplizierter und ActiveRecord bietet zwei Mรถglichkeiten, damit umzugehen. Verwendung der hat_und_gehรถrt_vielen , hat viele, Dadurch erhalten Sie Zugriff auf die Beziehung, die in einer separaten Tabelle definiert ist.

Polymorphes Eins-zu-Viele:- Dies ist eine erweiterte Assoziation, die Ihnen in Rails zur Verfรผgung steht. Sie kรถnnen damit ein Modell definieren, das zu vielen verschiedenen Modellen in einer einzigen Zuordnung gehรถren kann.

Rails โ€“ ActiveRecord-Validierungen

Die Validierung trรคgt dazu bei, sicherzustellen, dass Sie รผber korrekte Daten verfรผgen, denn die Arbeit mit falschen Daten ist eine schreckliche Sache und kann Sie Geld und Ihr Geschรคft kosten.

Die Validierung bietet auรŸerdem eine zusรคtzliche Sicherheitsebene fรผr Ihre Anwendung, damit bรถswillige Benutzer keinen Zugriff auf Informationen in Ihrer Datenbank erhalten. Rails bietet Ihnen eine nette API von Validierungshilfsmitteln in ActiveRecord, um Ihre Datenbank sauber, sicher und fehlerfrei zu halten.

ActiveRecord-Validierungen werden fรผr Modellobjekte ausgefรผhrt, bevor sie in der Datenbank gespeichert werden. Dies macht sie zuverlรคssiger und bietet auch die beste Vorgehensweise beim Erstellen Ihrer Anwendung.

Die folgenden ActiveRecord-Methoden rufen Validierungen hervor, wenn sie fรผr Modellobjekte verwendet oder aufgerufen werden โ€“ erstellen, erstellen!, speichern, speichern!, aktualisieren und aktualisieren!. Die mit dem Knall (erstellen!, speichern! und aktualisieren!) lรถsen eine Ausnahme aus, wenn ein Datensatz ungรผltig ist, wรคhrend dies nicht der Fall ist.

Die gรคngigsten ActiveRecord-Validierungshilfen, die Ihnen zur Verfรผgung stehen, sind:

Bestรคtigung: โ€“ Dieser Validierungshelfer ist nรผtzlich, um zu รผberprรผfen, ob zwei Felder denselben Eintrag haben. B. Passwort und Passwortbestรคtigung, wird es in Verbindung mit dem Anwesenheitsvalidierungs-Helfer verwendet.

Gegenwart:โ€“ Dadurch wird รผberprรผft, ob das Feld nicht leer ist.

Einzigartigkeit: sorgt fรผr einen eindeutigen Wert fรผr ein Feld, z. B. Benutzername

Lรคnge:- Um eine Begrenzung der Zeichenlรคnge eines Feldes zu erzwingen

Sie kรถnnen Ihre benutzerdefinierte Validierung auch erstellen, indem Sie die Methode โ€žvalidateโ€œ verwenden und ihr den Namen der benutzerdefinierten Validierungsmethode รผbergeben.

Sie kรถnnen die Modelle รผberprรผfen Fehler Objekt, um herauszufinden, warum eine Validierung. Hoffentlich haben Sie einige Ideen, wie Sie Ihre Anwendung stรคrker einschrรคnken und sicherer gestalten kรถnnen, um nur sichere Daten in Ihre Datenbank zuzulassen.

Rails โ€“ ActionController

Der Rails-Controller ist das Zentrum Ihrer Webanwendung. Es erleichtert und koordiniert die Kommunikation zwischen dem Benutzer, den Modellen und den Ansichten.

Ihre Controller-Klassen erben vom ApplicationController, der Code enthรคlt, der in allen anderen Controllern ausgefรผhrt werden kann, und er erbt von der ActionController-Klasse.

Der Controller stellt Ihrer Anwendung Folgendes zur Verfรผgung:

  • Es leitet externe Anfragen an interne Aktionen weiter
  • Es verwaltet den Cache und steigert so die Leistung Ihrer Anwendung
  • Es verwaltet Hilfsmethoden, die die Funktionen von Ansichtsvorlagen erweitern. Es verwaltet auch Benutzersitzungen und sorgt so fรผr eine reibungslose Nutzung Ihrer App.

Schienen โ€“ Konfigurationen

Sie kรถnnen die verschiedenen Komponenten wie Initialisierer, Assets, Generatoren, Middleware usw. konfigurieren, indem Sie die Initialisierer und Konfigurationsdateien Ihrer Rails-Anwendung im Konfigurationsverzeichnis verwenden. Dateien wie config/application.rb, config/environments/development.rb und config/environments/test.rb usw. Sie kรถnnen auch benutzerdefinierte Einstellungen fรผr Ihre Anwendung konfigurieren.

Rails โ€“ Debuggen

Wรคhrend Sie Ihre Anwendung erstellen, wird es irgendwann an der Zeit sein, Ihren Code zu debuggen. Rails machen dies mit dem byebug-Juwel einfach. Sie kรถnnen eine Debugging-Sitzung starten, indem Sie das Schlรผsselwort โ€žbyebegโ€œ an einer beliebigen Stelle in Ihrem Anwendungscode einfรผgen.

Dadurch wird die Ausfรผhrung an diesem Punkt vorรผbergehend gestoppt. Das byebug-Gem stellt Ihnen mehrere Befehle zur Verfรผgung. Die nรผtzlichsten sind:

  • weiter: Befehl, der es Ihnen ermรถglicht, zur nรคchsten Codezeile zu wechseln und alle Methoden zu รผberspringen, die durch die Ausfรผhrung der aktuellen Zeile aufgerufen werden.
  • Step: Dies รคhnelt dem Befehl โ€žnextโ€œ, fรผhrt Sie jedoch dazu, dass Sie in jeden aufgerufenen Befehl einsteigen.
  • brechen: Dies stoppt die Codeausfรผhrung.
  • fortsetzen setzt die Ausfรผhrung des Codes fort.

Es gibt andere Debugging-Gems wie โ€žpryโ€œ, die alle รคhnliche Funktionalitรคten, aber eine leicht unterschiedliche Syntax bieten. Debugging-Gems sollten nicht in der Produktion verwendet werden, da dies Risiken fรผr Ihre Anwendung und negative Erfahrungen fรผr Ihre Anwendungsbenutzer mit sich bringt.

Es gibt Protokolldateien, die Sie auf Fehler in der Produktion untersuchen und beheben kรถnnen. AuรŸerdem sollten Sie bei der Entwicklung Ihrer Anwendung einen TDD-Ansatz (testgetriebene Entwicklung) verfolgen, um sicherzustellen, dass alles ordnungsgemรครŸ funktioniert, bevor Sie sie in der Produktion bereitstellen.

Zusammenfassung

  • Ruby ist eine rein objektorientierte Programmiersprache
  • Ruby verfรผgt รผber eine elegante Syntax, die sowohl leicht zu lesen als auch zu schreiben ist.
  • Rails ist ein in Ruby geschriebenes Entwicklungsframework zum Erstellen von Webanwendungen
  • Der Installationsvorgang hรคngt von Ihrem Betriebssystem ab.
  • Rails ist als Ruby-Gem verpackt und Sie kรถnnen damit eine Vielzahl von Anwendungen erstellen.
  • In diesem Tutorial erstellen Sie eine Todo-Listenanwendung. Fรผhren Sie in Ihrem Terminal Folgendes aus: โ€žincomm'n'n' 'rails netoda'p'p'p'โ€œ, um die Anwendung zu erstellen.
  • Der Rails-Befehl โ€žgenerateโ€œ verwendet Vorlagen, um eine ganze Reihe nรผtzlicher Dinge in Ihrer Anwendung zu erstellen.
  • Mit dem Rails-Routingsystem Rails Router kรถnnen Sie alle eingehenden Anfragen an Ihre Webanwendung verarbeiten.
  • Die View-Ebene ist eine der Komponenten des MVC-Paradigmas und fรผr die Generierung einer HTML-Antwort fรผr jede Anfrage an Ihre Anwendung verantwortlich.
  • ActiveRecord ist die Ruby-Implementierung des Active Record-Musters.
  • Bei der Rails-Migration handelt es sich lediglich um ein Skript, mit dem Sie Ihre Anwendungsdatenbank bearbeiten.
  • Eine Verbindung zwischen zwei ActiveRecord-Modellen wird als Assoziation bezeichnet.
  • Die Validierung trรคgt dazu bei, sicherzustellen, dass Sie รผber korrekte Daten verfรผgen, denn die Arbeit mit falschen Daten ist eine schreckliche Sache und kann Sie Geld und Ihr Geschรคft kosten.
  • Der Rails-Controller hilft Ihnen, die Kommunikation zwischen dem Benutzer, den Modellen und den Ansichten zu erleichtern und zu koordinieren.
  • Rail hilft Ihnen bei der Konfiguration der verschiedenen Komponenten wie Initialisierer, Assets, Generatoren, Middlewares usw.

Fassen Sie diesen Beitrag mit folgenden Worten zusammen: