Was bedeutet erb?

132

Warum ist die Ansicht der Rails-Anwendung im Format *.erb.html? Was bedeutet "erb"?

Khanh
quelle

Antworten:

164

erb steht für "Embedded RuBy". Eine .html.erboder .erb.htmlDatei ist HTML mit eingebettetem Ruby-Code. Rails wertet den Ruby aus, um der Datei dynamisch Inhalt hinzuzufügen, und gibt eine "reine" HTML-Datei zum Rendern aus.

Chowlett
quelle
9
Bonus: Sie können auch Ihr Gebietsschema zum Mix hinzufügen: index.en.html.erb und index.de.html.erb
iain
3
lahm, sie sollten das HTML entfernen. Sie sehen nicht html.php
Luckyguy73
46

Wie @Chowlett bereits erwähnt hat, steht erb für Embedded Ruby . Wenn Sie eine Datei als ".html.erb" definieren, bedeutet dies, dass es sich um eine HTML-Datei handelt, in die Ruby-Code eingebettet ist, und die der Erweiterung ".rhtml" der Rails-Datei ähnelt.

Sie können einen detaillierten und schönen Unterschied zwischen ".html.erb" und ".rhtml" sehen. Klicken Sie hier

Wie bei ".rhtml" können Sie auch die Erweiterung ".rjs" in ".js.erb" oder ".rxml" in ".xml.erb" umbenennen.

Dieses Format trennt den Inhaltstyp von der Template-Engine, die in diesem Fall "erb" ist.

Nimesh Nikum
quelle
1
Danke @khanh, dass du meine Antwort
geschätzt hast
8

Aus Stuart Ellis ' Eine Einführung in ERB Templating :

ERB (Embedded RuBy) ist eine Funktion von Ruby, mit der Sie bequem jede Art von Text in beliebiger Menge aus Vorlagen generieren können. Die Vorlagen selbst kombinieren einfachen Text mit Ruby-Code für die Substitution von Variablen und die Flusskontrolle, wodurch sie einfach zu schreiben und zu warten sind.

Obwohl ERB am häufigsten beim Generieren von Webseiten verwendet wird, wird es auch zum Erstellen von XML-Dokumenten, RSS-Feeds, Quellcode und anderen Formen strukturierter Textdateien verwendet. Dies kann äußerst hilfreich sein, wenn Sie Dateien erstellen müssen, die viele Wiederholungen eines Standardmusters enthalten, z. B. Unit-Test-Suites.

Die Hauptkomponente von ERB ist eine Bibliothek, die Sie in Ihren Ruby-Anwendungen und Rake-Aufgaben aufrufen können. Diese Bibliothek akzeptiert jede Zeichenfolge als Vorlage und legt der Quelle der Vorlage keine Einschränkungen auf. Sie können eine Vorlage vollständig in Ihrem Code definieren oder an einem externen Speicherort speichern und nach Bedarf laden. Dies bedeutet, dass Sie Vorlagen in Dateien, SQL-Datenbanken oder anderen Arten von Speicher behalten können, die Sie verwenden möchten.

Ruby-Distributionen enthalten auch ein Befehlszeilenprogramm, mit dem Sie Vorlagen verarbeiten können, die in Dateien gespeichert sind, ohne zusätzlichen Code zu schreiben. Logischerweise heißt dieses Dienstprogramm erb.

ERB ist Teil der Ruby-Standardbibliothek. Sie müssen keine andere Software installieren, um sie zu verwenden.

Der Originalartikel enthält weitere Details und eine kurze Anleitung zur Verwendung von ERB. Sie können auch die offiziellen Dokumente lesen .


Hinweis: Der oben zitierte Block wurde zuvor als Antwort von einem anderen Benutzer veröffentlicht, ohne einen Link zu einer Einführung in ERB Templating zu erstellen oder zu bestätigen, dass es sich nicht um die Arbeit dieses Benutzers handelt. Dieser Beitrag wurde (zu Recht) wegen Plagiats gelöscht. Ich hielt es jedoch für eine nützliche Antwort, daher habe ich das Zitat erneut veröffentlicht und Stuart Ellis, dem ursprünglichen Autor, die richtige Zuschreibung gegeben.

Mark Amery
quelle
5

Embedded Ruby, auch ERb genannt, ist das primäre Vorlagensystem für die Aufnahme dynamischer Inhalte in Webseiten. - Michael Hertl

Andy Young
quelle
4

aus Vorlagenformat Eine Datei, die eine ERB-Vorlage enthält, kann einen beliebigen Namen haben. Es ist jedoch üblich, dass der Dateiname mit der Erweiterung .erb endet. Für Rails müssen Vorlagendateien die Erweiterung des Ausgabetyps gefolgt von .erb haben, sodass ein Name wie layout.html.erb eine HTML-Vorlage angibt.

erb-Dateien geben einfach Text aus. Nichts mehr. Welcher Text ist abhängig von der Mischung aus statischem Text und Ruby-Code in der Datei. Sie können erb verwenden, um HTML zu generieren, das standardmäßig in Rails verwendet wird, da Browser dies benötigen, um eine Seite anzuzeigen.

In Ruby gibt es bestimmte Standardeinstellungen. Eine Standardeinstellung ist, dass ein Controller eine HTML-Seite rendert. Sie können es jedoch leicht mit .xml oder .json oder .csv antworten lassen, wenn Sie eine Web-API dafür schreiben

Erb ist eine Bibliotheksklasse, die Text generiert. Nichts mehr. Es wird eine Datei erwartet, die statischen Text und Ruby-Code enthält. Es führt den Ruby-Code aus und schreibt das Ergebnis in eine andere Datei, die für Ihre Controller HTML ist

Ahmed Ali
quelle