Du hast deinen AdBlocker an?

Es wäre ein Traum, wenn du ihn für t3n.de deaktivierst. Wir zeigen dir gerne, wie das geht. Und natürlich erklären wir dir auch, warum uns das so wichtig ist. Digitales High-five, deine t3n-Redaktion

t3n 8

Teil 2: Die Praxis der REST-Architektur in Ruby On Rails: REST in Rails

Rails 1.2 bringt als große Neuerung die Unterstützung der REST-Architektur mit sich. Nachdem sich Teil 1 (siehe T3N Magazin Nr. 7) um die theoretischen Hintergründe von REST drehte, geht es nun ans Eingemachte: Eine kleine Artikel-Verwaltung soll RESTful umgesetzt werden.

Die REST-basierte Entwicklung in Rails bietet nur wenige Unterschiede zur „klassischen“, altbekannten Vorgehensweise. Neu sind vor allem folgende Punkte:

  • respond_to im Controller ermöglicht es, mit wenigen Handgriffen unterschiedliche Response-Formate auszugeben.
  • Das Routing erhält mit der Methode „resources“ eine REST-Implementierung.
  • Redirects im Controller und Links in den Views verfügen über neue Methoden und Helper.

Über diese größeren Neuerungen hinaus bleibt uns aber größerer Lernaufwand erspart – die meisten anderen Bereiche werden durch REST nicht berührt. Daher werden in diesem Artikel auch nur die entscheidenden, neuen Bereiche angesprochen.

Auf die Plätze... fertig... coden!

Wie bei jedem Rails-Projekt sind auch hier die ersten Schritte das Generieren des Anwendungs-Codes über „rails projektname“ und das Anlegen der entsprechenden Datenbank(en).

Interessant wird es, wenn wir nun den neuen Script-Generator „scaffold_resource“ einsetzen, um uns ein Grundgerüst bestehend aus Model, Controller und allem was dazu gehört erzeugen zu lassen. Der Generator erwartet als ersten Parameter den Namen des Models. Aus dem Namen des Models generiert Rails automatisch dann auch den entsprechenden Controller: Der Plural des Models wird hierfür als Name verwendet.

Weitere Parameter erlauben es uns, in der zugehörigen Datenbank-Migration gleich bestimmte Felder anlegen zu lassen und in der View ebenfalls diese Felder zu nutzen. In unserem Beispiel legen wir das Model „article“ mitsamt den Tabellenfeldern title, category, teaser, keywords, date und content sowie den Controller „articles_controller“ an. Dazu genügt folgender Befehl:

  • Seite:
  • 1
  • 2
  • 3
  • 4
  • 7

Finde einen Job, den du liebst

Bitte beachte unsere Community-Richtlinien

Schreib den ersten Kommentar!

Du musst angemeldet sein, um einen Kommentar schreiben zu können.

Jetzt anmelden