Lernen Sie Ruby on Rails von Grund auf Woche 1

Ruby on Rails… inzwischen haben die meisten Leute den Hype davon gehört. Es verspricht effektiveren Code, vollständige Objektorientierung und echte MVC-Architektur, um es gelinde auszudrücken. Soweit ich es persönlich erlebt habe, war das alles und noch viel mehr. Der Code ist schön, einfach zu warten und zu bearbeiten. In einem Projekt, an dem ich gerade gearbeitet habe, habe ich weniger als 10 Stunden gebraucht, um die Anwendung zu erstellen, verglichen mit mindestens dem doppelten, wenn ich in PHP schreibe.

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 eigener Erfahrung weiß ich, dass es sich sehr von PHP unterscheidet. Persönlich habe ich vor weniger als einem Jahr Ruby on Rails gelernt und hatte bisher kaum oder gar keine Probleme damit. Wenn Sie dies noch nicht getan haben, empfehle ich Ihnen dringend, mit dem aufstrebenden Web-Framework Ruby on Rails an Bord zu gehen!

Leitbild

In dieser Reihe von Tutorials hoffe ich, Sie davon zu überzeugen, dass Sie nichts über Ruby on Rails wissen (falls dies zutrifft), und in der Lage sein soll, voll funktionsfähige Webanwendungen zu schreiben. Ich erinnere mich, wie es war, es zu lernen. Ich konnte keine Serie von Tutorials finden, die Sie durch alle wichtigen Dinge in einfachem Englisch und in einer Reihenfolge führte, die für mich, den Lernenden, von Vorteil war. 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 als nützlich erachtet habe.

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

Dieses Tutorial

Ich warne Sie, das erste Tutorial ist vielleicht etwas trocken, aber es ist notwendig, um RoR zu lernen (nennen wir es einfach von jetzt an!). In dieser Woche werden das Einrichten des Frameworks und des Webservers sowie die Funktionsweise des Frameworks behandelt. Wir werden die notwendige Grundlage dafür schaffen, RoR zu lernen. Hier versagen 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 Rahmenschienen erweitern. Es ist sehr objektorientiert. Die Syntax ist von Perl's inspiriert und daher sehr ähnlich. Es ist auch ähnlich zu Python, Lisp, Dylan und CLU. Wikipedia zitieren:

 "Ruby wurde am 24. Februar 1993 von Yukihiro Matsumoto konzipiert, der eine neue Sprache schaffen wollte, die funktionale Programmierung durch zwingende Programmierung ausbalancierte. Nach Matsumoto 'wollte er eine Skriptsprache, die mächtiger als Perl und objektorientierter als Python ist Deshalb habe ich mich entschlossen, meine eigene Sprache zu entwerfen. "

Am populärsten war es in Japan, bis das Framework Rails herauskam. Seitdem ist es überall mit einer phänomenalen Geschwindigkeit weiter gewachsen.

Was ist Rails??

Rails ist der berühmte Rahmen, der aus Rubin besteht. Die Benutzerbasis wächst ständig. Es wurde von David Heinemeier Hansson von 37signals für basecamp entwickelt und im Juli 2004 als Open Source veröffentlicht. Es verwendet die MVC-Architektur (Model-View-Controller). Wenn Sie MVC auffrischen möchten, lesen Sie das MVC-Lernprogramm. Die neueste Version ist 2.1.0. Es gab einige wichtige Änderungen in Version 2. Dies beinhaltet die berühmte Gerüstfunktion von v1. In Version 2 hat sich etwas geändert.

Konzepte von Ruby on Rails

Ruby on Rails folgt mehreren 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 der agilen Programmierbedingung von TROCKEN (wiederholen Sie sich nicht). Das bedeutet natürlich, dass Sie Ihren Code nur einmal an einem bestimmten Ort schreiben. Wenn Sie zum Beispiel den Code für eine bestimmte Aufgabe benötigen, legen Sie ihn jedes Mal an einer bestimmten Stelle ab.

Das zweite Konzept, dem RoR folgt, ist CoC (Konventionen über Konfiguration).Dies bedeutet in der Regel, dass Ruby viel angenommen hat, und erklärt die meisten automatischen Standardwerte, die Sie für uns sehen werden. Anstatt dass Sie immer alles konfigurieren müssen, erledigt Ruby in jedem einzelnen Projekt dies automatisch für Sie. Wenn Sie etwas Unkonventionelles tun möchten, überschreiben Sie einfach die vernünftigen Standardwerte, die RoR bereits installiert hat Code muss geschrieben werden.

Vorteile des Lernens von Ruby on Rails:

  • Im Vergleich zu anderen Sprachen ist es relativ einfach zu lernen
  • Komplett 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 ausgestattet und es gibt nur wenige Fehler.

Nachteile von Ruby:

  • Anders verarbeitet, daher kann der Code auf Servern, die nicht wirklich für die Verarbeitung von Ruby-Code entwickelt wurden, etwas langsamer sein

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

Eine Ruby-Datei

Eine Ruby-Datei hat die Erweiterung .rb. Diese Dateien enthalten normalerweise kein HTML. Dies ist ein Ausschnitt einer Rubin-Datei (speziell eines Controllers) von einer Spiel-Engine, die ich kürzlich erstellt habe. Wie Sie vielleicht sehen können. Es holt Daten aus einer Datenbank und listet Spiele nach der Variablenkategorie und dem Titel auf:

Klasse GameController < ApplicationController def game_list
@title = '3'
@category = 'Aktion'
@games = Game.find (: alle,
: condition => ["title LIKE? AND category =?", '%' + title + '%', category],
: order => 'title, category ASC',
: limit => 5,: offset => 0)
Ende Ende

Eine eingebettete Ruby-Datei

Wie viele andere 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) durchsucht, bis sie auf beide Seiten stoßen <% Ruby Code that is only processed -%> oder <%= Ruby Code that is then outputted %>. Dann verarbeitet es den Ruby-Code und füllt bei Bedarf das Leerzeichen aus.

Hier ist ein Beispiel für Embedded Ruby:

<% title = "Nettuts" %>
<% header_text = "Ruby on Rails Tutorial" %>


<%= title %>


<%= header_text %>


Dies ist ein Beispiel für eine .rhtml-Seite.



So erhält der Benutzer es:

 

Nettuts


Ruby on Rails Tutorial


Dies ist ein Beispiel für eine .rhtml-Seite.




Ruby on Rails für Windows installieren

Windows- und OSX-Benutzer sind beide sehr glücklich. Beide Betriebssysteme verfügen über ein All-in-One-Installer / Manager-Programm, 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 das verwendet und hatte keine größeren Probleme damit. Vertrauen Sie mir, es ist viel einfacher, dies zu tun, und dann alles separat zu installieren.

Klicken Sie auf Download, um Instantrails zu erhalten.

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

Extrahieren Sie es jetzt 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-Lokomotive von Ruby on Rails zu haben. Für OSX und andere Betriebssysteme finden Sie im Wiki von Ruby on Rail eine sehr gute Ressource.

Erste Schritte mit dem Framework

Von jetzt an werde ich Instant Rails verwenden. Es ist nicht sehr verschieden von anderen Setups. Wenn Sie also eine andere Technik verwenden, sollten Sie immer noch leicht folgen können. Wenn Sie auf Probleme stoßen, teilen Sie mir dies bitte in den Kommentaren mit und / oder prü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 erhalten wahrscheinlich diese Nachricht, aber für Ihr Verzeichnis, für das Sie auf "Ja" klicken können:

Jetzt, wo Instant Rails läuft, können Sie verschiedene Dinge tun. Im Moment müssen Sie nur noch:

- Ö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:

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

3) Wir haben jetzt ein Konsolenfenster geöffnet. Hier können Sie viele Dinge in Ruby erledigen, beispielsweise neue Projekte, Controller und andere Aufgaben generieren, die wir später behandeln werden. Jetzt verwenden wir dieses Konsolenfenster, 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. Da wir noch nichts Besonderes machen, wählen wir nur Nettuts als unseren Namen:

2) Es werden nun alle erforderlichen Dateien für die Anwendung generiert. Dies sind die Dateien, die das Framework verwendet und benötigt. Es wird helfen, die CoC (Konventionen über Konfiguration).

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

Anwendung ausführen

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

2) Dann gehen wir zu "Rails Applications"> "Rails Applications verwalten ..."

2) Sie können Instant Rails-Schiffe bereits mit zwei Projets sehen. Das Kochbuch ist eine hübsche Demonstration dessen, was Sie mit Rails problemlos tun können. Ich empfehle Ihnen dringend, es auszuprobieren. Und nachdem Sie ein wenig mehr über Rails erfahren haben, lesen Sie den Quellcode. Sie werden von der Einfachheit überrascht sein! Markieren Sie trotzdem das Kästchen neben den Nüssen und klicken Sie auf "Mit Mischling beginnen". Ihre Firewall kann Einwände erheben, aber erlauben Sie es. Ein Konsolenfenster sollte mit der Portnummer und anderen nützlichen Informationen angezeigt werden:

In meinem Fall (und wahrscheinlich auch in Ihrem) können wir unsere Anwendung an 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:

Wir können jetzt mit dem Erstellen unserer Anwendung beginnen!

Wie funktioniert das Framework?

MVC-Architektur

Rails läuft von MVC Architecture ab. Im Grunde bedeutet das, dass wir unseren Code in drei Abschnitte aufteilen. das Modell, die Ansicht und den Controller. Wenn Sie mehr über MVC Architecture erfahren möchten, besuchen Sie das Einführungs-Tutorial von Nettuts MVC. In diesem Intro zu Ruby on Rails behandeln wir nur die Grundlagen des Controllers:

Der Controller

Der Controller ist der Pfad nach der Haupt-URL. Wenn wir beispielsweise einen Controller haben, der als "Lernen" bezeichnet wird, würde er repräsentieren yoursite.com/learn oder lokal 127.0.0.1:3000/learn . 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.

1) Zuerst öffnen wir ein Konsolenfenster über Instant Rails oder das von Ihnen verwendete Setup.

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

3) Jetzt, da wir uns in der Anwendung befinden, müssen wir auf ein Skript zugreifen, das den Controller generiert. Wenn Sie die Dateistruktur der App überprüfen, werden Sie feststellen, dass es einen Skriptordner gibt. Im Skriptordner befindet sich eine Datei zum Generieren. Wir müssen das anvisieren und ausführen.

4) Wir werden es über die Konsole anvisieren. Beachten Sie auch die anderen Skripte, die alle ihren Zweck haben. Jedenfalls geben Sie in Windows "Ruby Script / Generate Controller Learn" ein, um einen Controller namens Learn zu erzeugen. 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 zwei wichtigsten Dateien hier sind der Controller learn, der nur eine von mehreren erstellten Dateien war; Beachten Sie aber auch, dass eine Ansicht namens Lernen erstellt wurde. Dies sind die vernünftige Standardwerte dass die Schienen mit einhergehen, um den Arbeitsaufwand zu begrenzen.

Wie funktioniert ein Controller??

Nun, nehmen wir es Schritt für Schritt.

-Benutzer fordert yoursite.com/learn an

-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 fordert, und erstellt oder leitet schließlich eine Ansicht weiter.

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

Machen Sie sich keine Sorgen, wenn dies keinen Sinn ergibt. Im nächsten Tutorial werden wir uns eingehender mit Controllern beschäftigen. Im Moment müssen Sie nur wissen, wie Sie einen Controller erstellen und dass diese vorhanden sind.

Ressourcen

  • Lynda.com: Ruby on Rails Essential Training

    Ruby on Rails möchte die Erstellung von Webanwendungen vereinfachen. Im Ruby on Rails Essential Training, Experte Instructor Kevin Skoglund konzentriert sich auf das gleiche Ziel. Kevin erklärt den gesamten Prozess - vom Verständnis der grundlegenden Konzepte eines jeden Ruby on Rails-Projekts bis zur Erstellung von voll funktionsfähigen, einfach zu wartenden Anwendungen mithilfe des Ruby on Rails-Frameworks.

    Artikel besuchen

  • Tutorial's Point Ruby on Rails-Serie

    Dies ist eine unglaubliche Serie von Ruby on Rails-Tutorials, die eine Menge abdeckt, aber manchmal schwer zu folgen ist.

    Artikel besuchen

  • Ruby on Rails

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

    Artikel besuchen

  • Rails Wiki

    Dies ist eine weitere großartige Ressource. Wenn Sie der nächste Rails-Ninja werden, könnten Sie sogar gezwungen sein, einige der Informationen hier zu bearbeiten!

    Artikel besuchen

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

Nächste Woche und letzte Worte

Nun, ich hoffe, Sie konnten alle diese Informationen überleben. Vertrauen Sie mir, Sie werden es nicht bereuen. Stellen Sie sicher, dass Sie das allgemeine Verständnis dieses Tutorials erhalten. Während wir fortfahren, werden die meisten Ihrer Fragen beantwortet und Sie werden sich "aufgeklärter" fühlen, was Rails ist. Und ich verspreche nächste Woche mehr Spaß! Nächste Woche werden wir uns ein wenig mit dem Framework beschäftigen und uns mit der Ruby-Syntax beschäftigen. Wenn dieses Tutorial Ihnen geholfen hat, bitte Digg!

  • Abonnieren Sie den NETTUTS-RSS-Feed für mehr tägliche Webentwicklungsberichte und -artikel.