Der Rails Connector enthält Komponenten, die bereits im Auslieferungszustand in Ihrer Rails-Anwendung lauffähig sind. Darüber hinaus ist die Software mit vielfältigen Schnittstellen ausgestattet, über die Sie die Komponenten an Ihre Anforderungen anpassen können.
Die folgenden Arten von Bestandteilen sind prinzipiell erweiter- und austauschbar:
CmsController
, SearchController
)CmsHelper
, SearchHelper
)Obj
Die Controller-Klassen des Rails Connectors sind über einen Vererbungsmechanismus erweiterbar. Beispielsweise ist die Klasse CmsController
von der Klasse RailsConnector::DefaultCmsController
abgeleitet und erbt dadurch das gesamte dort definierte Verhalten. Die mitgelieferte Klasse CmsController
fügt selbst keine Funktionalität zur Anwendung hinzu, sondern ist als Platzhalter für eigene Erweiterungen der Standard-Implementierung gedacht.
Um das Verhalten des CMS-Controllers anzupassen, legen Sie in Ihrem Applikationsverzeichnis unter app/controllers/
die Datei cms_controller.rb
mit folgendem Inhalt an:
class CmsController < RailsConnector::DefaultCmsController # Ihre Anpassungen end
Die Helper-Module des Rails Connectors sind hierarchisch genauso aufgebaut wie die Controller-Klassen: es gibt beispielsweise ein Modul DefaultCmsHelper
, das die eigentliche Implementierung enthält, sowie ein Modul CmsHelper
, das diese Funktionalität nutzt, jedoch selbst nichts hinzufügt. Um – für dieses Beispiel – Helper-Methoden hinzuzufügen oder vorhandene auszutauschen, legen Sie in Ihrem Applikationsverzeichnis unter app/helpers/
eine Datei cms_helper.rb
mit folgendem Inhalt an:
module CmsHelper include RailsConnector::DefaultCmsHelper # Ihre Anpassungen end
Die mitgelieferten Views des Rails Connectors können Sie durch eigene ersetzen; siehe den Abschnitt Mitgelieferte Views des Rails Connectors anpassen.
Obj
Bis Version 6.8.1 sucht der Rails Connector bei der Initialisierung innerhalb Ihrer Applikation nach einem Modul namens ObjExtensions
und ruft, falls es existiert, dessen Methode enable
auf. Um diesen Mechanismus zu nutzen, legen Sie unter dem Ordner lib
die Datei obj_extensions.rb
in Ihrer Applikation an. Damit können Sie das Modell Obj
erweitern. Geben Sie der Datei als Ausgangsbasis den folgenden Inhalt:
module ObjExtensions def self.enable Obj.class_eval do # Definieren Sie hier Ihre Methoden end end end
Ab Version 6.8.2 kann das Modell Obj
in der Applikation angelegt und erweitert werden. Das Modell muss von RailsConnector::BasicObj
abgeleitet sein.
# app/models/obj.rb class Obj < RailsConnector::BasicObj # Definieren Sie hier Ihre Methoden end