Den Rails Connector anpassen

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:

  • Controller (z. B. CmsController, SearchController)
  • Helper (z. B. CmsHelper, SearchHelper)
  • Views (z. B. für die Darstellung von Suchergebnissen)
  • Das Modell Obj

Controller

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

Helper

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

Views

Die mitgelieferten Views des Rails Connectors können Sie durch eigene ersetzen; siehe den Abschnitt Mitgelieferte Views des Rails Connectors anpassen.

Das Modell 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