Advertisement
  1. Code
  2. Ruby

Lernen Sie Ruby on Rails von Grund auf neu: Woche 1

Scroll to top
Read Time: 12 min

German (Deutsch) translation by Władysław Łucyszyn (you can also view the original English article)

Ruby on Rails. . .Mittlerweile haben die meisten Leute den Hype darüber gehört. Es verspricht, gelinde gesagt, effektiveren Code, vollständige Objektorientierung und echte MVC-Architektur. Nach meiner persönlichen Erfahrung war es all das und noch viel mehr. Der Code ist schön, einfach zu pflegen und zu bearbeiten. In einem Projekt, an dem ich kürzlich gearbeitet habe, habe ich weniger als 10 Stunden gebraucht, um die Anwendung zu erstellen, verglichen mit mindestens dem Doppelten, wenn ich in PHP schrieb.

Ich habe viele Webentwickler gehört, die andere Sprachen beherrschen, normalerweise ASP oder PHP, die Ruby on Rails lernen möchten, aber nicht wissen, wo sie anfangen sollen. Aus persönlicher Erfahrung weiß ich, dass es sich sehr von PHP unterscheidet. Persönlich habe ich Ruby on Rails vor weniger als einem Jahr gelernt und hatte bisher nur wenige bis gar keine Probleme damit. Wenn Sie es noch nicht getan haben, empfehle ich Ihnen dringend, mit dem aufstrebenden Webframework Ruby on Rails an Bord zu gehen!

Leitbild

Ich hoffe, dass Sie in dieser Reihe von Tutorials nicht mehr über Ruby on Rails wissen (falls dies zutrifft), sondern dass Sie voll funktionsfähige Webanwendungen darin schreiben können. Ich erinnere mich, wie es war, es zu lernen. Ich konnte keine Reihe von Tutorials finden, die Sie in einfachem Englisch und in einer Reihenfolge, die für mich, den Lernenden, von Vorteil war, durch alle wichtigen Dinge führten. Obwohl es sehr gute Ressourcen gibt, müssen sie auch mit anderen kombiniert werden. Am Ende dieses Tutorials werde ich auch Ressourcen auflisten, die ich in der Vergangenheit ebenfalls als nützlich empfunden habe.

Diese Serie wird der PHP-Serie von Grund auf ähnlich sein, jedoch mit Ruby on Rails. Jede Woche wird eine veröffentlicht, die schrittweise weiterentwickelt wird.

Dieses Tutorial

Ich warne Sie, dieses erste Tutorial ist vielleicht etwas trocken, aber es ist notwendig, um RoR zu lernen (nennen wir es von nun an einfach so!). Diese Woche werden wir uns mit der Einrichtung des Frameworks und des Webservers sowie der Funktionsweise des Frameworks befassen. Wir werden die notwendigen Grundlagen für das Erlernen von RoR schaffen. Hier scheitern viele Webentwickler, die RoR lernen möchten. Ich verspreche, dass wir beim nächsten Mal viel aufregendere Dinge tun werden!

Was ist Ruby?

Ruby ist die Sprache, die die Framework-Schienen erweitern. Es ist sehr objektorientiert. Die Syntax ist von Perl inspiriert und daher sehr ähnlich. Es ähnelt auch Python, Lisp, Dylan und CLU. Um Wikipedia zu zitieren:

"Ruby wurde am 24. Februar 1993 von Yukihiro Matsumoto konzipiert, der eine neue Sprache schaffen wollte, die funktionale Programmierung mit zwingender Programmierung in Einklang bringt. Laut Matsumoto wollte er eine Skriptsprache, die leistungsfähiger als Perl und objektorientierter als Python ist Deshalb habe ich beschlossen, meine eigene Sprache zu entwerfen. "

Es war in Japan am beliebtesten, das heißt, bis das Framework Rails herauskam. Seitdem ist es überall mit einer phänomenalen Geschwindigkeit weiter gewachsen.

Was ist Rails?

Rails ist das berühmte Gerüst, das aus Rubin besteht. Die Benutzerbasis wächst ständig. Entwickelt von David Heinemeier Hansson von 37signals for basecamp, wurde es im Juli 2004 als Open Source veröffentlicht. Es verwendet die MVC-Architektur (Model - View - Controller). Wenn Sie MVC auffrischen möchten, lesen Sie unbedingt das MVC-Tutorial. Die neueste Version ist 2.1.0. Es gab einige signifikante Änderungen in der Version 2. Dies beinhaltet die berühmte Gerüstfunktion von v1. In Version 2 wurde es ein wenig geändert.

Konzepte von Ruby on Rails

Ruby on Rails folgt verschiedenen Prinzipien, um den Code glatt und sauber zu halten. Sie sollten versuchen, nach diesen Grundsätzen zu leben, während Sie mit RoR arbeiten, um das Beste daraus zu machen. Zum einen folgt es dem agilen Programmierbegriff von DRY (Don't repeat yourself). Dies bedeutet natürlich, dass Sie Ihren Code nur einmal an einer bestimmten konsistenten Stelle schreiben. Wenn Sie beispielsweise den Code benötigen, um eine bestimmte Aufgabe auszuführen, platzieren Sie ihn jedes Mal an einer bestimmten Stelle.

Das zweite Konzept, dem RoR folgt, ist CoC (Conventions over Configuration). Dies bedeutet ziemlich genau, dass Ruby viel voraussetzt, und erklärt die meisten automatischen Standardeinstellungen, die Ruby für uns generiert. Anstatt dass Sie immer alles konfigurieren müssen, erledigt Ruby dies in jedem einzelnen Projekt automatisch für Sie. Wenn Sie dann etwas Unkonventionelles tun möchten, überschreiben Sie einfach die sinnvollen Standardeinstellungen, die RoR bereits eingerichtet hat. Dies führt im Allgemeinen zu weniger Code muss geschrieben werden.

Vorteile des Lernens von Ruby on Rails:

  • Im Vergleich zu anderen Sprachen ist es ziemlich einfach zu lernen
  • Vollständig objektorientiert
  • MVC-Architektur
  • Sie müssen nicht so viel Code schreiben
  • Sehr erweiterbar
  • Open Source
  • Die Community ist äußerst hilfreich bei der Beantwortung von Fragen
  • Obwohl es sich um ein relativ neues Framework handelt, ist es ziemlich voll funktionsfähig und weist nur sehr wenige Fehler auf.

Nachteile von Ruby:

  • Wird anders verarbeitet, sodass der Code auf Servern, die nicht wirklich für Ruby-Code ausgelegt sind, etwas langsamer sein kann

Ich habe diese Behauptung nur gehört, aber immer mehr Server werden besser für Rails gerüstet, da sie sowieso weiter wachsen und daher immer weniger problematisch werden.

Eine Ruby-Datei

Eine Ruby-Datei hat die Erweiterung .rb. Diese Dateien enthalten normalerweise kein HTML. Dies ist ein Auszug aus einer Ruby-Datei (insbesondere einem Controller) aus einer Spiel-Engine, die ich kürzlich erstellt habe. Wie Sie vielleicht sehen können. Es ruft Daten aus einer Datenbank ab und listet Spiele nach Variablenkategorie und Titel auf:

1
class GameController < ApplicationController
2
3
	def game_list<br>		@title = '3'<br>		@category = 'Action'<br>		@games = Game.find(:all, <br>		:conditions => ["title LIKE ? AND category = ?", '%' + title + '%', category],<br>		:order => 'title, category ASC',<br>		:limit => 5, :offset => 0)<br>	end
4
5
end

Eine eingebettete Ruby-Datei

Wie in vielen anderen Web-Sprachen können Sie mit Rails Ruby in HTML einbetten. Seki Masatoshi hat ein Programm namens ERb, Embedded Ruby, geschrieben, das alle .rhtml-Dateien (eingebettete Ruby-Dateien) scannt, bis es entweder auf <% Ruby-Code stößt, der nur verarbeitet wird -%> oder <%=Ruby-Code, der dann% ausgegeben wird %>. Es verarbeitet dann den Ruby-Code und füllt die Lücke aus, falls erforderlich.

Hier ist ein Beispiel für Embedded Ruby:

1
<% title = "Nettuts" %><br><% header_text = "Ruby on Rails Tutorial" %><br><html><br><head><br><title><%= title %></title><br></head><br><body><br><h2><%= header_text %></h2><br><p>This is an example of a .rhtml page. </p><br></body><br></html>

So erhält der Benutzer es:

1
<html><br>
2
  <head><br>
3
  <title> Nettuts </title><br>
4
  </head><br>
5
  <body><br>
6
  <h2>Ruby on Rails Tutorial</h2><br>
7
  <p>This is an example of a .rhtml page. </p><br>
8
  </body><br>
9
  </html> <br>

Ruby on Rails für Windows installieren

Windows- und OSX-Benutzer haben beide großes Glück. Beide Betriebssysteme erhalten ein All-in-One-Installations-/Managerprogramm, das Ruby, Rails und den Server installiert. Für Windows haben Sie die Option Instant Rails. Gehen Sie zu http://instantrails.rubyforge.org/wiki/wiki.pl, um es herunterzuladen. Ich persönlich habe dies verwendet und hatte keine größeren Probleme damit. Vertrauen Sie mir, es ist viel einfacher, dies zu tun, und installieren Sie dann alles separat.

Instant RailsInstant RailsInstant Rails

Klicken Sie auf Download, um Instantrails zu erhalten.

Wenn Sie auf Download klicken, werden Sie zu rubyforge.org weitergeleitet. Dort können Sie die neueste Version auswählen. Zum Zeitpunkt dieses Schreibens war 2.0 das neueste. Zum Zeitpunkt dieses Schreibens unterstützten viele beliebte Hosts, die Ruby unterstützten, nur die Version 1.8.x. Es gibt erhebliche Unterschiede zwischen Version 1 und 2. Es liegt also an Ihnen, welche Version Sie installieren möchten. In diesem Tutorial werde ich Version 2.0 herunterladen.

Instant Rails DownloadInstant Rails DownloadInstant Rails Download

Extrahieren Sie es nach dem Herunterladen in ein Verzeichnis, das keine Leerzeichen enthält.

Installieren von Ruby on Rails für andere Betriebssysteme

OSX hat auch das Glück, eine All-in-One-Ruby-on-Rails-Lokomotive zu haben. Für OSX und andere Betriebssysteme finden Sie im Ruby-Wiki von Rail eine sehr gute Ressource.

Erste Schritte mit dem Framework

Von nun an werde ich Instant Rails verwenden. Es unterscheidet sich nicht sehr von anderen Einstellungen. Wenn Sie also eine andere Technik verwenden, sollten Sie dennoch in der Lage sein, diese problemlos zu befolgen. Wenn Sie auf Probleme stoßen, teilen Sie mir dies bitte in den Kommentaren mit und/oder überprüfen Sie die Ressourcen.

Jetzt haben Sie alle Dateien, die Sie für Ihr Setup benötigen. Fang an! Wechseln Sie für Windows in das Verzeichnis, in das Sie Instant Rails gestellt haben, und führen Sie InstantRails.exe aus. Sie werden wahrscheinlich diese Nachricht erhalten, aber für Ihr Verzeichnis können Sie 'Ja' drücken für:

Instant Rails MessageInstant Rails MessageInstant Rails Message

Jetzt, da Instant Rails ausgeführt wird, können Sie verschiedene Dinge tun. Im Moment müssen Sie nur in der Lage sein:

- Öffnen Sie ein Konsolenfenster

-Erstellen Sie ein neues Projekt.

- Starten Sie den Server für ein aktuelles Projekt

Wir werden jede Aktion separat durchgehen.

Öffnen Sie ein Konsolenfenster

1) Klicken Sie auf das Symbol oben links:

Instant Rails UIInstant Rails UIInstant Rails UI

2) Gehen Sie zu "Rails-Anwendungen" > "Ruby-Konsolenfenster öffnen".

3) Wir haben jetzt ein offenes Konsolenfenster. Hier können Sie viele Dinge in Ruby tun, z. B. neue Projekte, Controller und andere Aufgaben generieren, die wir später behandeln werden. Jetzt werden wir dieses Konsolenfenster verwenden, um eine neue Anwendung zu erstellen.

Neue Anwendung erstellen

1) Jetzt geben wir "Rails Nettuts" ein, wobei Nettuts der Name Ihrer Anwendung ist. Wählen Sie den Namen sorgfältig aus, da Sie ihn für den Rest der Anwendung verwenden werden. Da wir noch nichts Besonderes tun, wählen wir nur Nettuts als unseren Namen:

Console Create NettutsConsole Create NettutsConsole Create Nettuts

2) Es werden nun alle für die Anwendung erforderlichen Dateien generiert. Dies sind die Dateien, die das Framework verwendet und benötigt. Es wird dazu beitragen, die CoC (Conventions over Configuration) bereitzustellen.

Console Create NettutsConsole Create NettutsConsole Create Nettuts

3) Wir haben jetzt eine Ruby on Rails-Anwendung generiert!

Ausführen einer Anwendung

1) Um unsere Anwendung auszuführen, müssen wir zu Instant Rails gehen und erneut auf das Symbol klicken:

Instant Rails UIInstant Rails UIInstant Rails UI

2) Dann gehen wir zu "Rails-Anwendungen" > "Rails-Anwendungen verwalten...".

Manage ApplicationsManage ApplicationsManage Applications

2) Sie können sehen, dass Instant Rails bereits mit zwei Projekten geliefert wird. Das Kochbuch ist eine hübsche Demo dessen, was Sie mit Rails problemlos tun können. Ich empfehle Ihnen dringend, es sich anzusehen. Und nachdem Sie ein bisschen mehr über Rails erfahren haben, lesen Sie den Quellcode. Sie werden von der Einfachheit überrascht sein! Aktivieren Sie auf jeden Fall das Kontrollkästchen neben Nettuts und klicken Sie auf "Mit Mischling beginnen". Ihre Firewall kann Einwände erheben, dies jedoch zulassen. Ein Konsolenfenster sollte mit der Portnummer und anderen nützlichen Informationen angezeigt werden:

Manage ApplicationsManage ApplicationsManage Applications

In meinem Fall (und wahrscheinlich auch in Ihrem) können wir unsere Anwendung unter Port 3000 anzeigen. Navigieren Sie also einfach zu 127.0.0.1:3000, und Sie sollten diese Standard-Rails-Seite (plus die Seitenleiste rechts) erhalten:

Manage ApplicationsManage ApplicationsManage Applications

Wir können jetzt mit der Erstellung unserer Anwendung beginnen!

Wie funktioniert das Framework?

MVC-Architektur

Rails läuft von MVC Architecture ab. Grundsätzlich bedeutet dies, dass wir unseren Code in drei Abschnitte aufteilen. das Modell, die Ansicht und die Steuerung. Wenn Sie mehr über MVC Architecture erfahren möchten, besuchen Sie unbedingt das Einführungstutorial zu Nettuts MVC. In diesem Intro zu Ruby on Rails werden nur die Grundlagen des Controllers behandelt:

Der Controller

Der Controller ist der Pfad nach der Haupt-URL. Wenn wir beispielsweise einen Controller mit dem Namen "learn" haben, würde dieser yoursite.com/learn oder lokal 127.0.0.1:3000/learn darstellen. Jeder Controller basiert auf vielen spezifischen Dateien. Um einen Controller zu erstellen, müssen Sie ihn über die Konsole generieren. Wir werden jetzt einen neuen Controller erstellen, lernen Sie:

1) Zuerst öffnen wir ein Konsolenfenster über Instant Rails oder welches Setup Sie auch immer verwenden.

2) Als nächstes navigieren wir zur aktuellen Anwendung. Da wir uns derzeit eine Ebene über unserer Anwendung befinden, geben wir "cd nettuts" ein (Verzeichnis in nettuts ändern).

cd nettutscd nettutscd nettuts

3) Jetzt, da wir in der Anwendung sind, müssen wir auf ein Skript zugreifen, das den Controller generiert. Wenn Sie die Dateistruktur der App untersuchen, werden Sie feststellen, dass es einen Skriptordner gibt. Im Skriptordner befindet sich eine Generierungsdatei. Wir müssen darauf abzielen und es ausführen.

directorydirectorydirectory

4) Wir werden es über die Konsole anvisieren. Beachten Sie auch die anderen Skripte, die alle ihren Zweck haben. Wie auch immer, geben Sie in Windows "Ruby Script/Controller generieren lernen" ein, um einen Controller namens "Lernen" zu generieren. Wenn ich mich recht erinnere, brauchen Sie den Rubin in anderen Betriebssystemen nicht. Die Konsole generiert nun einige Dateien. Überprüfen Sie diese in einem Erkundungsfenster, wenn Sie möchten. Die beiden wichtigsten Dateien hier sind das Controller-Lernen, das nur eine von mehreren erstellten Dateien war. Beachten Sie jedoch auch, dass eine Ansicht namens "Lernen" erstellt wurde. Dies sind die sinnvollen Standardeinstellungen, mit denen Schienen den Arbeitsaufwand begrenzen.

ControllersControllersControllers

Wie funktioniert ein Controller?

Nun, lassen Sie es uns Schritt für Schritt machen.

-Benutzeranfragen yourite.com/learn

-Rails sucht automatisch im Serververzeichnis nach app/learn_controller

-Rails durchsucht die .rb-Datei nach der Definition einer Indexdatei

-Rails macht das, was die Definition vorschreibt, und erstellt oder leitet schließlich zu einer Ansicht um.

-Diese Ansicht (lernen) wird dann an den Benutzer zurückgesendet.

Mach dir keine Sorgen, wenn das nicht ganz Sinn macht. Im nächsten Tutorial werden wir uns eingehender mit Controllern befassen. Machen Sie sich vorerst nur mit dem Erstellen eines Controllers und dessen Existenz vertraut.

Ressourcen

  • Lynda.com

    Lynda.com: Grundlegendes Training für Ruby on Rails

    Ruby on Rails soll das Erstellen von Webanwendungen vereinfachen. In Ruby on Rails Essential Training konzentriert sich der erfahrene Ausbilder Kevin Skoglund auf dasselbe Ziel. Kevin erklärt den gesamten Prozess - vom Verständnis der grundlegenden Konzepte hinter jedem Ruby on Rails-Projekt bis zur Erstellung von voll funktionsfähigen, einfach zu wartenden Anwendungen mithilfe des Ruby on Rails-Frameworks.

    Artikel besuchen

  • Developer's Zone

    Point Ruby on Rails-Serie des Tutorials

    Dies ist eine unglaubliche Reihe von Ruby on Rails-Tutorials, die viel abdecken, aber manchmal schwer zu befolgen sind.

    Artikel besuchen

  • Ruby on Rails

    Ruby on Rails

    Dies ist die offizielle Website von Rail. Wenn Sie sich für Rails begeistern möchten, klicken Sie hier! Hier können Sie die neueste Version herunterladen, die neuesten Nachrichten erhalten und andere Ressourcen zum Erlernen von Rails finden.

    Artikel besuchen

  • PHP.NET

    Rails Wiki

    Dies ist eine weitere großartige Ressource. Sobald Sie der nächste Rails-Ninja sind, müssen Sie möglicherweise sogar einige der Informationen hier bearbeiten!

    Artikel besuchen

Schauen Sie sich vor dem nächsten Tutorial möglichst viele dieser Ressourcen an.

Nächste Woche und letzte Worte

Nun, ich hoffe, Sie konnten all diese Informationen überleben. Vertrau mir, du wirst es nicht bereuen. Stellen Sie sicher, dass Sie einen umfassenden Überblick über dieses Tutorial erhalten. Im weiteren Verlauf werden die meisten Ihrer Fragen beantwortet, und Sie werden sich "aufgeklärter" fühlen, was Rails ist. Und ich verspreche, dass nächste Woche mehr Spaß machen wird! Nächste Woche werden wir uns ein bisschen mehr mit dem Framework befassen und uns mit der Ruby-Syntax befassen und ein bisschen mehr darüber, was Sie mit Rails tun können. Wenn dieses Tutorial Ihnen geholfen hat, Digg es bitte!

  • Abonnieren Sie den NETTUTS RSS Feed für weitere tägliche Webentwicklungs-Tuts und Artikel.


Advertisement
Did you find this post useful?
Want a weekly email summary?
Subscribe below and we’ll send you a weekly email summary of all new Code tutorials. Never miss out on learning about the next big thing.
Advertisement
Looking for something to help kick start your next project?
Envato Market has a range of items for sale to help get you started.