CMS Fiona hat eine interne Link-Verwaltung, die vor allem sicherstellt, dass beim Verschieben oder Umbenennen von CMS-Dateien die Referenzen automatisch aktualisiert werden. Der Rails Connector verfügt jedoch nicht über die geänderten Pfad-Informationen. Aus diesem Grund sollten Aufrufe wie Obj.find(1234)
oder Obj.find_by_path("/company/news/")
in einer Rails-Anwendung unbedingt vermieden werden.
Um dennoch direkt auf bestimmte CMS-Dateien zugreifen zu können, stellt der Rails Connector mit benannten Links eine geeignete Möglichkeit zur Verfügung: Erstellen Sie im CMS eine Datei mit der Vorlage NamedLink
und dem Linklistenfeld related_links
. Über diese Linkliste können Sie nun im CMS Ihre Referenzen pflegen, die dann auch von der Link-Verwaltung erfasst werden. In der Rails-Anwendung können Sie nun auf die referenzierten Dateien über den jeweils in der Linkliste vergebenen Titel zugreifen (Beispiel: NamedLink.get_object("news")
). Darüber hinaus werden die benannten Links im Cache gehalten, wodurch beim Zugriff darauf Ressourcen geschont werden.
Typische Anwendungsfälle für benannte Links sind beispielsweise:
NamedLink.get_object("news").each do ...
if @obj == NamedLink.get_object("homepage") ...
NamedLink.get_object("important_notes").body
Weitere Informationen hierzu finden Sie in der API-Dokumentation zur Klasse NamedLink
.
Bitte beachten Sie folgende Hinweise bei der Nutzung benannter Links:
Im CMS sollte nur eine Datei mit der Vorlage NamedLink
existieren, da nur die erste NamedLink
-Datei berücksichtigt wird; alle anderen werden ignoriert. Um zu verhindern, dass ein Redakteur weitere Dateien mit der Vorlage NamedLink
anlegt, sollte die Vorlage deaktiviert werden, nachdem die Datei angelegt wurde.
Darüber hinaus dürfen die CMS-Dateien, auf die die benannten Links zeigen, weder deaktiviert noch zurückgezogen werden. Versucht die Rails-Applikation, mittels NamedLink
auf zurückgezogene oder deaktivierte Dateien zuzugreifen, wird eine Exception ausgelöst. Wird diese Exception nicht explizit abgefangen, funktionieren die Webseiten nicht mehr, die diesen benannten Link enthalten. Abhängig davon, wo benannte Links auf nicht vorhandene Ziele verwendet werden, kann die gesamte Website ausfallen.
Das Rails-Projekt kann in den Dateien config/environment.rb
, config/environments/*.rb
und config/initializers/rails_connector.rb
konfiguriert werden.
Die dort angegebene Konfiguration wird ab Version 6.7.3 durch Ruby-Dateien in config/local/
überschrieben. Dadurch kann das Rails-Projekt an die lokale Entwicklungsumgebung anpasst werden, ohne dass die Projekt-Konfiguration geändert werden muss.
In diesen Dateien kann sowohl die Konfiguration von Rails als auch die des Rails Connectors lokal angepasst werden. Beispiel:
config.action_mailer.delivery_method = :my_local_delivery_method RailsConnector::Configuration.instance_name = "my_local_instance_name"
Die Installation des Rails Connectors hinterlässt eine leere Datei config/local/configuration.rb
, d.h. es werden keine Änderungen an der Projekt-Konfiguration vorgenommen.
Wenn für die Entwicklung einer Rails-Anwendung ein Versionierungssystem verwendet wird, sollte es so konfiguriert sein, dass es die Dateien im Verzeichnis config/local
ignoriert.