Was ist Ruby on Rails?

Ruby on Rails ist ein Framework, mit dem datenbankbasierte dynamische Websites in vergleichsweise kurzer Zeit entwickelt werden können. Das Framework kapselt den Zugriff auf die Datenbank und die Verarbeitung der Requests und nimmt damit dem Entwickler einen großen Teil der in anderen Umgebungen dafür erforderlichen Programmierarbeit ab.

In Ruby-on-Rails-Projekten haben die Funktionen, die beispielsweise ein Portal bietet, einen größeren Stellenwert als in klassischen Projekten, bei denen statische Inhalte im Vordergrund stehen. Damit ist Ruby on Rails ideal geeignet für Web-2.0-Anwendungen mit ihren Community-Funktionen wie Blogs, Rating usw.

Eine Ruby-on-Rails-Laufzeitumgebung ist ein geschlossenes System, das aus dem Ruby-Interpreter und zahlreichen Skripten, Hilfsprogrammen und Bibliotheken besteht. Eine Rails-Anwendung besteht aus einem Verzeichnisbaum, in dem sich die Konfiguration, die Views, die Controller, das Datenbankmodell und anderes befindet.

Durch die Model-View-Controller-Architektur, d.h. die klare Trennung zwischen den Daten, deren Aufbereitung und deren Anzeige sind die entwickelten Webanwendungen leicht zu pflegen. In dieser Architektur bedeuten:

Model

Das Datenmodell, d.h. die Struktur der Daten und ihre Beziehungen zueinander wird in Ruby on Rails auf Klassen, Methoden und Eigenschaften abgebildet. Eine Klasse entspricht üblicherweise einer Datenbanktabelle, eine Zeile darin einem Objekt, dessen Eigenschaften wiederum den Feldern. Durch diese Object-Relational Mapping genannte Abbildung der Daten auf das objektorientierte Modell der Programmiersprache gibt es bei der Handhabung der Daten keinen Unterschied zu den eingebauten und programmierten Klassen und Objekten.

View

Ein View ist eine meist dynamisch erzeugte Sicht auf Daten. Typischerweise enthält ein View HTML-Text, in den Ruby-Code mittels Processing Instructions eingebettet ist, analog zu beispielsweise PHP. So könnte der Inhalt eines Warenkorbs ein View sein, oder auch ein bestimmter Bereich einer Website.

Controller

Ein Controller ist eine Ruby-Datei, die ausgeführt wird, wenn ein Request mit einem definierten URL-Bestandteil beantwortet werden soll. Ruft beispielsweise ein Kunde auf einer Website seinen Warenkorb auf, so erkennt der Controller dies anhand des entsprechenden Bestandteils in der URL (beispielsweise page), ruft die entsprechenden Daten aus der Datenbank ab und bereitet sie auf. Anschließend wird der zum Controller gehörende View verarbeitet und die dadurch entstehende HTML-Seite ausgeliefert.