2010-11-26 24 views

Respuesta

135

erb significa "RuBy incrustado". Un archivo .html.erb o .erb.html es HTML con código de Ruby incrustado; Rails evaluará Ruby para agregar contenido al archivo dinámicamente y generará un archivo HTML "puro" para la representación.

+0

¿Tiene usted una fuente? – meagar

+3

@meagar http://www.ruby-doc.org/stdlib/libdoc/erb/rdoc/classes/ERB.html –

+8

Bonificación: también puede agregar su configuración regional a la mezcla: ** index.en.html.erb ** y ** index.de.html.erb ** – iain

37

Como @Chowlett mencionado anteriormente, erb significa Ruby incrustado. Cuando define un archivo como ".html.erb", significa que es un archivo HTML con código ruby ​​incrustado en él y es similar a la extensión ".rhtml" del archivo de rieles.

se puede ver una diferencia detallada y agradable entre ".html.erb" y ".rhtml" Click Here

Igual que ".rhtml", también se puede cambiar el nombre de ".rjs de" extensión "de Js. erb "o" .rxml "a" .xml.erb "

Este formato separa el tipo de contenido del motor de plantilla que es" erb "en este caso.

+1

Gracias @khanh por apreciar mi respuesta :) –

4

de template-format un archivo que contiene una plantilla de ERB puede tener cualquier nombre, pero es la convención de que el nombre del archivo debe terminar con la extensión .erb. Rails requiere que los archivos de plantilla tengan la extensión del tipo de salida, seguido de .erb, de modo que un nombre como layout.html.erb indique una plantilla HTML.

los archivos erb simplemente mostrarán texto. Nada mas. Qué texto depende de la combinación de texto estático y código ruby ​​dentro del archivo. Puede usar erb para generar html que uso predeterminado en Rails, porque eso es lo que los navegadores necesitan para mostrar una página.

En ruby ​​hay ciertos valores predeterminados Un valor predeterminado es que un controlador mostrará una página html. Pero puede hacer que responda fácilmente con .xml o .json o .csv si escribe una API web

Erb es una clase de biblioteca que genera texto. Nada mas. Espera que un archivo contenga texto estático y código ruby ​​mezclado. Se ejecutará el código de rubí y escribir el resultado en otro archivo que en el caso de los controladores es html

2

de Stuart Ellis An Introduction to ERB Templating:

ERB (Embedded rubí) es una característica de Ruby que le permite genere convenientemente cualquier tipo de texto, en cualquier cantidad, desde plantillas. Las plantillas mismas combinan texto sin formato con código Ruby para sustitución de variables y control de flujo, lo que facilita su escritura y mantenimiento.

Aunque ERB se ve con mayor frecuencia generando páginas web, también se utiliza para producir documentos XML, fuentes RSS, código fuente y otras formas de archivo de texto estructurado. Puede ser extremadamente valioso cuando necesite crear archivos que incluyan muchas repeticiones de un patrón estándar, como paquetes de prueba de unidades.

El componente principal de ERB es una biblioteca a la que puede llamar dentro de sus aplicaciones Ruby y tareas de Rake.Esta biblioteca acepta cualquier cadena como plantilla, y no impone limitaciones en el origen de la plantilla. Puede definir una plantilla completamente dentro de su código, o almacenarla en una ubicación externa y cargarla según sea necesario. Esto significa que puede mantener plantillas en archivos, bases de datos SQL o cualquier otro tipo de almacenamiento que desee utilizar.

Las distribuciones de Ruby también incluyen una utilidad de línea de comandos que le permite procesar plantillas que se guardan en archivos sin escribir ningún código adicional. Lógicamente, esta utilidad se llama erb.

ERB es parte de la biblioteca estándar de Ruby. No necesita instalar ningún otro software para usarlo.

El artículo original contiene más detalles y una breve guía sobre el uso de ERB. También puede leer el official docs.


Nota: el bloque antes citado fue publicado previamente como una respuesta de otro usuario sin ligarse a Una introducción a la ERB Templating o reconocer que no era el trabajo de ese usuario. Esa publicación fue (correctamente) eliminada por plagio. Sin embargo, pensé que era una respuesta útil, por lo que he vuelto a publicar la cita con la atribución adecuada a Stuart Ellis, el autor original.

3

Ruby integrado, también llamado ERb, es el sistema de plantillas principal para incluir contenido dinámico en páginas web. --Michael Hertl

Cuestiones relacionadas