Start der Rails-Rezepte-Serie

Heute beginnen wir mit einer Reihe von Rails-Rezepten in unserem Tutorials-Bereich.

Die Rezepte stammen aus dem deutschsprachingen Rail Kochbuch aus dem O’Reilly Verlag.
Wir möchten uns an dieser Stelle dafür bedanken, dass O’Reilly uns die Rezepte zur Verfügung stellt.

Den Start wird die Rails-Einführung machen und in den nächsten Tagen folgen weiter Auszüge.

Entwickeln mit Rails

2.0 Einführung

Rails ist darauf ausgerichtet, die Webentwicklung produktiver und einträglicher zu machen. Tatsächlich wird behauptet, dass Sie mit Rails bis zu 10-mal produktiver sein können als mit anderen Frameworks. Sie müssen selbst entscheiden, ob Rails einträglicher ist, aber wenn Sie produktiver sind, können Sie mehr Zeit damit verbringen, Sie interessierende Probleme zu lösen, anstatt das Rad ständig neu zu erfinden und Infrastruktur zu schaffen. Die Produktivitätsvorteile erkennen Sie am besten, wenn Sie sich eine komfortable Entwicklungsumgebung schaffen. Ihr primäres Entwicklungswerkzeug wird ein Texteditor oder eine integrierte Entwicklungsumgebung (Integrated Development Environment, IDE) sein. Dieses Werkzeug gut zu beherrschen erlaubt es Ihnen, sich effektiv innerhalb der Quelldateien der Anwendung zu bewegen. Sie benötigen außerdem Werkzeuge, um mit Rails über die Kommandozeile kommunizieren zu können, d.h., Sie müssen eine geeignete Terminal- oder Konsolenanwendung auswählen.
Dieses Kapitel enthält Rezepte, die Ihnen dabei helfen, Ihre Rails-Entwicklungsumgebung auszuwählen und den Ausgangspunkt einer Rails-Anwendung anzulegen. Wir behandeln auch einige hilfreiche Lösungen für gängige Probleme, denen man bei der Rails-Entwicklung häufig begegnet, etwa zur Generierung der Ruby-Dokumentation (RDoc) für Ihre Anwendung oder zur Entwicklung mit dem aktuellsten Rails (Edge Rails).

Sobald Sie bereit sind, neue Rails-Projekte anzulegen und zu bearbeiten, und alle Entwicklungs-Tools am richtigen Platz sind, können Sie damit beginnen herauszufinden, was Ihnen das Framework zu bieten hat.

2.1 Ein Rails-Projekt anlegen

Problem

Sie haben Rails auf Ihrem System installiert und wollen Ihr erstes Rails-Projekt anlegen.

Lösung

Wir gehen davon aus, dass Sie Ruby, RubyGems, Rails und eine der von Rails unterstützten Datenbanken (MySQL ist am weitesten verbreitet; PostgreSQL ist weniger populär, aber eine ausgezeichnete Wahl) installiert haben. Um eine neue Rails-Anwendung anzulegen, führen Sie den Befehl rails aus und übergeben ihm den Pfad auf die neue Anwendung als Argument. Um Ihre neue Anwendung zum Beispiel unter /var/www/cookbook anzulegen (wobei das cookbook-Verzeichnis noch nicht existiert), geben Sie den folgenden Befehl in einem Terminal-Fenster ein:

$ rails /var/www/cookbook
 
Der rails-Befehl legt das Verzeichnis für Ihr Projekt mit dem von Ihnen angegebenen Pfad an. Er erzeugt außerdem eine Reihe von Unterverzeichnissen, die den Projektcode nach der Funktion organisieren, die er innerhalb der MVC-Umgebung übernimmt. Der rails-Befehl kennt darüber hinaus verschiedene Kommandozeilenoptionen. Diese können Sie sich ansehen, indem Sie Folgendes eingeben:
$ rails --help
 
Die wichtigste dieser Optionen ist –database=database_type, wobei database_type einer der folgenden sein kann: mysql, oracle, postgresql, sqlite2 oder sqlite3. Um beispielsweise PostgreSQL anstelle der Standard-Datenbank (MySQL) zu verwenden, geben Sie den folgenden Befehl ein:

$ rails /var/www/cookbook --database=postgresql
 

Diskussion

Nachdem Sie ein Projekt mit Rails angelegt haben, sollten Sie sich die Struktur der generierten Verzeichnisse sowie die erzeugten Dateien ansehen. Ihr neues Rails-Projekt enthält eine nette README-Datei, die die Rails-Grundlagen beschreibt, etwa wie man an die Dokumentation gelangt, Rails debuggt, die Rails-Konsole, Breakpunkte und vieles mehr.
Ein neues Rails-Projekt enthält die folgenden Verzeichnisse:
app
enthält den gesamten anwendungsspezifischen Code dieser Anwendung. Der größte Teil der Rails-Entwicklung findet innerhalb des app-Verzeichnisses statt.
app/controllers
enthält die Controller-Klassen, die alle von ActionController::Base erben. Jede dieser Dateien sollte nach dem Modell benannt werden, das sie kontrollieren, gefolgt von _controller.rb (z.B. cookbook_controller.rb), damit ein automatisches Abbilden der URLs möglich ist.

app/models
enthält die Modelle, deren Namen die Form cookbook.rb haben sollten. Die Modellklassen erben größtenteils von ActiveRecord::Base.

app/views

enthält die Template-Dateien für den View. Der Name muss beispielsweise cookbook/index.rhtml für die Aktion CookBookController#index lauten. Alle Views verwenden die eRuby-Syntax. Dieses Verzeichnis kann auch Stylesheets, Images und so weiter enthalten. Diese können über symbolische Links mit public verbunden werden.

app/helpers
enthält View-Helper. Die Namen sollten die Form weblog_helper.rb aufweisen.
app/apis

enthält API-Klassen für Webdienste.
config
enthält Konfigurationsdateien für die Rails-Umgebung, die Routing-Map, die Datenbank und andere Abhängigkeiten.

components

enthält eigenständige Mini-Anwendungen, die Controller, Modelle und Views bündeln.
db
enthält das Datenbankschema in schema.rb. db/migrate enthält die Folge von Migrations für Ihr Schema.

lib
enthält anwendungsspezifische Bibliotheken – d.h. grundsätzlich jede Art von eigenem Code, der nicht unter Controller, Modelle oder Helfer fällt. Dieses Verzeichnis liegt im Ladepfad.
public

Das ist das für jeden verfügbare Verzeichnis. Es enthält Unterverzeichnisse für Images, Stylesheets und JavaScript-Skripten. Es enthält außerdem die Dispatcher und die Standard-HTML-Dateien.

script
enthält Helfer-Skripten für die Automatisierung und Generierung.
test

enthält Unit-Tests und funktionale Tests, zusammen mit Fixtures.
vendor
enthält externe Bibliotheken, von denen die Anwendung abhängig ist. Es enthält auch das Plugins-Unterverzeichnis. Dieses Verzeichnis liegt im Ladepfad.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.