Die Programmiersprache Ruby

Blog| Forum| Wiki  

Dieser Artikel ist noch sehr unvollständig, hilf mit ihn zu verbessern!
Entferne bitte anschließend den Stub-Baustein.

Ruby on Rails ist ein Framework zur Erstellung von Datenbank-gestützten Webanwendungen.

Es gilt mithin als Killer-Application für Ruby und hat die Sprache seit Mitte 2005 in aller Munde gebracht.

Offizielle Website

Inhaltsverzeichnis

Konzept

Rails erstellt beim Ausführen des Befehls "rails Projektname" einen Ordner mit dem Namen Projektname. Dort werden einige Unterordner erstellt sowie Dateien. Sofort nach dem Ausführen des Befehls hat man eine voll funktionsfähige Webanwendung. Über die Eingabe von "script/server" wird ein Webserver mit der Applikation gestartet. Geht man nun auf http://localhost:3000 erwartet einen eine Informationsseite, die von der Anwendung ausgegeben wird.

Die erstellten Ordner sind eine nähere Betrachtung wert:

demo/
..../app
......../controller
......../helpers
......../models
......../views
............../layouts
..../config
..../db
..../doc
..../lib
..../log
..../public
..../script
..../test
..../tmp
..../vendor

Beim Ausführen des Generators werden zusätzlich zu dieser Ordnerstruktur noch einige Dateien erzeugt, die das Rails-Environment definieren, welche gem-Version gefordert wird usw.

An den Ordnern im app-Überordner lässt sich schon das MVC-Prinzip ablesen, dem Rails folgt. Jedes Datenbank-Model hat (üblicherweise) einen passenden Controller und mehrere Views.

Framework-Funktionen

Das Rails-Framework bringt eine große Zahl an Funktionen mit. Neben der Datenbank-Abstraktion ActiveRecord, dem Mailer ActionMailer, dem View-Framework ActionView und dem Controller-Framework ActionController bringt Rails auch ActiveSupport mit, womit die Ruby-Sprache um viele Funktionen erweitert wird, die bei der Entwicklung von Webanwendungen wichtig sind.

Schichten des Frameworks

Rails besteht aus mehreren "Schichten". Zuunterst ist das Daten-Modell. Dort wird über ActiveRecord eine persistente Objekt-Behandlung realisiert. Durch das einbinden des ActiveRecord::Base-Models bekommt das vom Benutzer erstellte Objekt neue Funktionen zum Suchen, Speichern und Löschen. Im Normalbetrieb muss man so kein SQL o.Ä. schreiben.

Darüber folgt der Controller, basierend auf ActionController. Dort werden die Daten für die Ausgabe im View vorbereitet. Unter anderem werden diese dort geladen, geupdated und gelöscht. Der Controller ist also die Zwischenschicht zwischen Anzeige und Speicherung. Dort findet die so genannte Anwendungslogik statt.

Über dem Controller sitzt der View. Dort sollte, wenn richtig genutzt, keine Datenverarbeitung mehr stattfinden. Dort werden die Daten aus dem Controller entgegengenommen und entsprechend dargestellt.

Links

Eine Schritt-für-Schritt Anleitung, die die Installation einer sauberen Ruby on Rails Umgebung auf einem aktuellen Debian Lenny System erklärt.