Entwicklung & Design

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:

Bitte beachte unsere Community-Richtlinien

Wir freuen uns über kontroverse Diskussionen, die gerne auch mal hitzig geführt werden dürfen. Beleidigende, grob anstößige, rassistische und strafrechtlich relevante Äußerungen und Beiträge tolerieren wir nicht. Bitte achte darauf, dass du keine Texte veröffentlichst, für die du keine ausdrückliche Erlaubnis des Urhebers hast. Ebenfalls nicht erlaubt ist der Missbrauch der Webangebote unter t3n.de als Werbeplattform. Die Nennung von Produktnamen, Herstellern, Dienstleistern und Websites ist nur dann zulässig, wenn damit nicht vorrangig der Zweck der Werbung verfolgt wird. Wir behalten uns vor, Beiträge, die diese Regeln verletzen, zu löschen und Accounts zeitweilig oder auf Dauer zu sperren.

Trotz all dieser notwendigen Regeln: Diskutiere kontrovers, sage anderen deine Meinung, trage mit weiterführenden Informationen zum Wissensaustausch bei, aber bleibe dabei fair und respektiere die Meinung anderer. Wir wünschen Dir viel Spaß mit den Webangeboten von t3n und freuen uns auf spannende Beiträge.

Dein t3n-Team

Schreib den ersten Kommentar!