Layout einer Rails-Anwendung

Rails-Anwendungen basieren nicht auf den Layout-Dateien (Templates), die im CMS hinterlegt sind, sondern auf Views, die ein wesentlicher Bestandteil der Rails-Anwendung selbst sind. Views sind HTML-Dateien, die Programm-Code enthalten, mit dem die Inhalte dynamisch in die anzuzeigenden Webseiten aufgenommen werden.

In einem Rails-Projekt erstellt der Designer das Layout der Webseiten. Das Layout basiert auf einer Rails-Layout-Datei, die das HTML-Gerüst der auszuliefernden Webseiten enthält. In diesem HTML-Gerüst sind Platzhalter enthalten, die später vom Rails-Framework durch Inhalte ersetzt werden. Welche Inhalte eingesetzt werden, hängt von dem verwendeten View ab, der wiederum über die aufgerufene URL bestimmt wird.

Die Platzhalter im Layout umfassen einen voreingestellten Bereich (meist der Hauptinhalt) sowie optionale weitere benannte Bereiche. Für die Inhalte in sämtlichen Bereichen sorgt der jeweilige View, der hierfür ebenfalls einen Hauptabschnitt und weitere benannte Abschnitte enthält. Befindet sich im Layout ein benannter Bereich, für den es im View keinen entsprechenden Abschnitt gibt, so bleibt dieser Bereich in der erzeugten Webseite leer.

Um das Design zu erstellen oder zu ändern, passt der Designer das Layout und die Views so an, dass die erzeugten Webseiten der Spezifikation entsprechen. Typischerweise werden im Layout Style-Sheets referenziert, deren Klassen dort und in den Views verwendet werden.

Unser Rails Connector unterstützt ab Version 6.7.1 zwei Template-Sprachen für Views und Layouts, ERB (Embedded Ruby) und Liquid.

Die Templatesprache ERB gehört zur Standardbibliothek von Ruby. Bei der Verwendung von ERB wird Ruby-Code direkt in die Views und in das Layout eingebettet. Mit Hilfe des Rails Connectors können CMS-Inhalte innerhalb von ERB-Templates ausgegeben werden. ERB-Templates haben die Dateiendung .html.erb.

Liquid ist eine in Ruby implementierte Templatesprache mit Fokus auf Sicherheit und Robustheit. Liquid-Templates haben eine einfache Syntax und sind daher im Vergleich zu ERB-Templates leichter zu schreiben und weniger fehleranfällig. Der Rails Connector erweitert Liquid um spezielle Sprachkonstrukte, mit denen CMS-Inhalte ausgegeben werden können. Liquid-Templates haben die Dateiendung .html.liquid.

Innerhalb einer Rails-Anwendung kann ein Teil der Views und des Layouts in ERB und der andere Teil in Liquid formuliert sein.