Galileo Computing < openbook > Galileo Computing - Professionelle Bücher. Auch für Einsteiger.
Professionelle Bücher. Auch für Einsteiger.

Inhaltsverzeichnis
Geleitwort des Fachgutachters
Einleitung
1 Einführung
2 Installation
3 Erste Schritte
4 Einführung in Ruby
5 Eine einfache Bookmarkverwaltung
6 Test-Driven Development
7 Rails-Projekte erstellen
8 Templatesystem mit ActionView
9 Steuerzentrale mit ActionController
10 Datenbankzugriff mit ActiveRecord
11 E-Mails verwalten mit ActionMailer
12 Nützliche Helfer mit ActiveSupport
13 Ajax on Rails
14 RESTful Rails und Webservices
15 Rails mit Plug-ins erweitern
16 Performancesteigerung
17 Sicherheit
18 Veröffentlichen einer Rails-Applikation auf einem Server

Download:
- ZIP, ca. 6,7 MB
Buch bestellen
Ihre Meinung?

Spacer
 <<   zurück
Ruby on Rails 2 von Hussein Morsy, Tanja Otto
Das Entwickler-Handbuch
Buch: Ruby on Rails 2

Ruby on Rails 2
geb., mit DVD
699 S., 39,90 Euro
Galileo Computing
ISBN 978-3-89842-779-1
Online bestellenPrint-Version jetzt bestellen
* versandkostenfrei in (D) und (A)
Pfeil 9 Steuerzentrale mit ActionController
  Pfeil 9.1 Grundlagen
  Pfeil 9.2 Aufgaben des Controllers
  Pfeil 9.3 Filter
  Pfeil 9.4 Routing

9 Steuerzentrale mit ActionController

Der Controller stellt die Zentrale einer Rails-Applikation dar. Zusammen mit ActionView bildet ActionController das Modul ActionPack.

Steuerzentrale

Beim Model-View-Controller-Entwurfsmuster nimmt der Controller eine zentrale Rolle ein. Den Controller kann man sich im Prinzip als Steuerzentrale vorstellen, die die Interaktion des Benutzers mit der Rails-Applikation steuert. Ein Benutzer kann hier auch eine andere Applikation sein, die z. B. eine Anfrage per XML an unsere Rails-Applikation stellt.

Abbildung  Model-View-Controller-Entwurfsmuster


Galileo Computing - Zum Seitenanfang

9.1 Grundlagen  topZur vorigen Überschrift

Eine Rails-Applikation enthält in der Regel mehrere Controller. Oft sind Controller für die Operationen auf ein Model zuständig. Der Flights-Controller aus unserer Beispielapplikation railsair ist z. B. für die Verwaltung des Flight -Models zuständig.

Aufgaben

Ein Controller hat u. a. folgende Aufgaben:

  • Daten aus HTTP-Anfragen empfangen (z. B. Formulardaten)
  • Datenbankabfragen über Model-Klassen
  • Setzen und Abfragen von Cookies
  • Setzen und Abfragen von Sessions
  • Templates aufrufen
  • Setzen von Flash-Nachrichten
  • Weiterleitungen
  • Senden von Dateien und Daten
  • Authentifizierung

Im Verlaufe des Buches haben Sie schon einige Male mit Controllern gearbeitet. Im Rahmen dieses Kapitels wollen wir auf Details rund um ActionController eingehen. Wenn Sie noch nicht so viel Erfahrung mit Rails haben, ist es vor dem Durcharbeiten dieses Kapitels unbedingt empfehlenswert, unsere Beispielapplikation »Eine einfache Bookmarkverwaltung« aus dem gleichnamigen Kapitel durchzuarbeiten.

Application- Controller

Controller sind Klassen, die von einem übergeordneten Controller, dem Application-Controller, erben. Der Application-Controller wiederum erbt von der Klasse ActionController::Base und wird beim Generieren einer Rails-Applikation im Verzeichnis app/controllers erstellt.

Listing  app/controllers/application.rb

...
class ApplicationController < ActionController::Base
  helper :all # include all helpers, all the time
  ...
end

Vererbung

Durch die Vererbung stehen allen Controllern einer Rails-Applikation alle Methoden, die im Application-Controller definiert werden, und die Methoden der Klasse ActionController::Base zur Verfügung. Die Vererbung wird in nachfolgendem Diagramm durch die unausgefüllten Pfeile dargestellt.

Abbildung  Controller-Klassen-Hierarchie

Die meisten Controller einer Rails-Applikation verwenden als Elternklasse die Klasse ApplicationController.

Listing  app/controllers/flights_controller.rb

class FlightsController < ApplicationController
...
end

Das heißt, im Application-Controller können Sie Hilfsmethoden definieren, auf die alle Controller der Applikation zugreifen können sollten. Diese Methoden werden üblicherweise als protected deklariert, damit sie nicht von außen aufrufbar sind.

Actions

Die Methoden innerhalb eines Controllers werden als Actions bezeichnet. Es sind nur die Actions von außen aufrufbar, die nicht private oder protected sind.

Nachdem das Routing (siehe Abschnitt »Routing« in diesem Kapitel) entschieden hat, welcher Controller und welche Action für eine Anfrage zuständig sind, nimmt der Controller die Anfrage an und leitet sie an die zuständige Action weiter.



Ihr Kommentar

Wie hat Ihnen das <openbook> gefallen? Wir freuen uns immer über Ihre freundlichen und kritischen Rückmeldungen.






 <<   zurück
  Zum Katalog
Zum Katalog: Ruby on Rails 2






Ruby on Rails 2
Jetzt bestellen
 Ihre Meinung?
Wie hat Ihnen das <openbook> gefallen?
Ihre Meinung

 Buchtipps
Zum Katalog: Zend Framework






 Zend Framework


Zum Katalog: AJAX






 AJAX


Zum Katalog: Praxisbuch Web 2.0






 Praxisbuch Web 2.0


Zum Katalog: CSS-Layouts






 CSS-Layouts


Zum Katalog: JavaScript und Ajax






 JavaScript und Ajax


Zum Katalog: Professionelles Webdesign mit (X)HTML und CSS






 Professionelles Webdesign
 mit (X)HTML und CSS


Zum Katalog: Suchmaschinen-Optimierung






 Suchmaschinen-Optimierung


Zum Katalog: XHTML, HTML und CSS






 XHTML, HTML und CSS


 Shopping
Versandkostenfrei bestellen in Deutschland und Österreich
InfoInfo




Copyright © Galileo Press 2008
Für Ihren privaten Gebrauch dürfen Sie die Online-Version natürlich ausdrucken. Ansonsten unterliegt das <openbook> denselben Bestimmungen, wie die gebundene Ausgabe: Das Werk einschließlich aller seiner Teile ist urheberrechtlich geschützt. Alle Rechte vorbehalten einschließlich der Vervielfältigung, Übersetzung, Mikroverfilmung sowie Einspeicherung und Verarbeitung in elektronischen Systemen.


[Galileo Computing]

Galileo Press, Rheinwerkallee 4, 53227 Bonn, Tel.: 0228.42150.0, Fax 0228.42150.77, info@galileo-press.de