Rails 1.2: Controller in Unterverzeichnissen organisieren

Manche Controller werden besser unter einem “Über-Controller” zusammengefasst, um die Struktur sowohl in den Quelltextverzeichnissen als auch in dem URL-Aufbau klar zu halten. So z.B. die Administrationsfunktionen einer Rails-Anwendung. Um eine Benutzer- sowie eine Rechte-Verwaltung unter der Übergruppe “Administration” zu führen, kann man zuerst die Verzeichnise für die Übergruppe anlegen:

app/controllers/administration/
app/views/administration/

Die Controller für Benutzer- und Rechteverwaltung finden in diesem ersten erstellen Verzeichnis Platz:

app/controllers/administration/user_controller.rb
app/controllers/administration/permission_controller.rb

Die Templates lagern hingegen in einem einzelnen Unterverzeichnis für jeden Controller:

app/views/administration/user/
app/views/administration/permission/

d.h. für den UserController werden die Templates hier erwartet:

app/views/administration/user/list.rhtml
app/views/administration/user/show.rhtml

etc.

Die letzte Änderung findet in den Controllern selbst statt. Sie werden nicht mit:

class UserController < ApplicationController

definiert, sondern mit:

class Administration::UserController < ApplicationController

Die Benutzer- und Rechte-Verwaltung sind jetzt unter:

http://deineSeite/administration/user

und

http://deineSeite/administration/permission

zu erreichen.

Leave a Reply


linkboost