web-dev-qa-db-fra.com

Quelle est la signification de erb?

Pourquoi la vue de Rails application au format *.erb.html? Que veut dire "erb"?

126
khanh

erb signifie "Ruby intégré". UNE .html.erb ou .erb.html le fichier est HTML avec Ruby du code incorporé dans; Rails évaluera le Ruby pour ajouter du contenu au fichier de manière dynamique) , et générera un fichier HTML "pur" pour le rendu.

158
Chowlett

Comme @Chowlett l'a mentionné précédemment, erb signifie Ruby intégré . Lorsque vous définissez un fichier en tant que ".html.erb", cela signifie qu’il s’agit d’un fichier HTML avec Ruby incorporé dans celui-ci et ressemblant à l’extension ".rhtml" de Rails fichier.

Vous pouvez voir une différence détaillée et agréable entre ".html.erb" et ".rhtml" Cliquez ici

Identique à ".rhtml", vous pouvez également renommer les extensions ".rjs" en ".js.erb" ou ".rxml" en ".xml.erb".

Ce format sépare le type de contenu du moteur de modèle qui est "erb" dans ce cas.

44
Nimesh Nikum

De Stuart Ellis Une introduction à la modélisation par ERB :

ERB (Embedded Ruby) est une fonctionnalité de Ruby) qui vous permet de générer facilement tout type de texte, quelle que soit sa taille, à partir de modèles. Les modèles eux-mêmes combinent du texte brut avec Ruby pour la substitution de variable et le contrôle de flux, ce qui facilite leur écriture et leur maintenance.

Bien que l’ERB génère le plus souvent des pages Web, il est également utilisé pour produire des documents XML, des flux RSS, du code source et d’autres formes de fichiers texte structuré. Cela peut être extrêmement utile lorsque vous devez créer des fichiers qui incluent de nombreuses répétitions d'un modèle standard, telles que des suites de tests unitaires.

Le composant principal de ERB est une bibliothèque que vous pouvez appeler dans vos applications et tâches Rake Ruby). Cette bibliothèque accepte toutes les chaînes en tant que modèle et n'impose aucune limitation quant à la source du modèle. pouvez définir un modèle entièrement dans votre code ou le stocker dans un emplacement externe et le charger selon vos besoins, ce qui signifie que vous pouvez conserver les modèles dans des fichiers, des bases de données SQL ou tout autre type de stockage que vous souhaitez utiliser.

Les distributions Ruby incluent également un utilitaire de ligne de commande qui vous permet de traiter les modèles conservés dans des fichiers sans écrire de code supplémentaire. Logiquement, cet utilitaire s'appelle erb.

ERB fait partie de la bibliothèque standard Ruby. Il n'est pas nécessaire d'installer un autre logiciel pour l'utiliser.

L'article original contient plus de détails et un petit guide d'utilisation d'ERB. Vous pouvez également lire le document officiel .


Remarque: le bloc cité ci-dessus a déjà été posté en tant que réponse par un autre utilisateur sans lien vers Une introduction à la modélisation par ERB ou en reconnaissant que ce n'était pas le travail de cet utilisateur. Ce message a été (à juste titre) supprimé pour plagiat. Cependant, je pensais que c'était une réponse utile, j'ai donc republié la citation en donnant une attribution appropriée à Stuart Ellis, l'auteur original.

7
Mark Amery

Embedded Ruby, également appelé ERb, est le principal système de modèles permettant d’inclure du contenu dynamique dans les pages Web. --Michael Hertl

5
Andy Young

from template-format Un fichier contenant un modèle ERB peut avoir n'importe quel nom, mais c'est la convention selon laquelle le nom du fichier doit se terminer par l'extension .erb. Rails requiert que les fichiers de modèle portent l'extension du type de sortie, suivi de .erb, de sorte qu'un nom tel que layout.html.erb indique un modèle HTML.

les fichiers erb produiront simplement du texte. Rien de plus. Quel texte correspond à la combinaison de texte statique et de code Ruby dans le fichier. Vous pouvez utiliser erb pour générer du code HTML dont l'utilisation par défaut dans Rails est nécessaire, car c'est ce dont les navigateurs ont besoin pour afficher une page.

Dans Ruby, il existe certains paramètres par défaut. L'un des paramètres par défaut est qu'un contrôleur affiche une page html. Toutefois, vous pouvez facilement le faire répondre avec .xml, .json ou .csv si vous écrivez une API Web pour. il

Erb est une classe de bibliothèque qui génère du texte. Rien de plus. Il attend un fichier contenant du texte statique et Ruby code mélangé. Il exécutera le code Ruby et écrira le résultat dans un autre fichier, ce qui dans le cas de vos contrôleurs est le html

4
Ahmed Ali

ERB est un modèle de classe dans Ruby et est souvent utilisé dans .rhtml ou .erb.html (HTML avec Ruby intégré) dans Rails.

Voici un détail gentil sur le Ruby docs.

http://Ruby-doc.org/stdlib-1.9.3/libdoc/erb/rdoc/ERB.html

2
hindenbug