eRuby


Embedded Ruby (también abreviado como ERB ) es un sistema de plantillas que incrusta Ruby en un documento de texto. A menudo se usa para incrustar código Ruby en un documento HTML , similar a ASP y JSP , y PHP y otros lenguajes de secuencias de comandos del lado del servidor. El sistema de plantillas de eRuby combina código Ruby y texto sin formato para proporcionar control de flujo y sustitución de variables, lo que facilita el mantenimiento del código combinado. [1]

El módulo Ver de Ruby on Rails es responsable de mostrar la respuesta o salida en un navegador. En su forma más simple, una vista puede ser una pieza de código HTML que tiene algo de contenido estático. Para la mayoría de las aplicaciones, tener contenido estático puede no ser suficiente. Muchas aplicaciones Ruby on Rails requerirán contenido dinámico creado por el controlador(método de acción) que se mostrará en su vista. Esto es posible gracias al uso de Embedded Ruby para generar plantillas que pueden contener contenido dinámico. Embedded Ruby permite que el código Ruby se incruste en un documento de vista. Este código se reemplaza con el valor adecuado resultante de la ejecución del código en tiempo de ejecución. Pero, al tener la capacidad de incrustar código en un documento de vista, corremos el riesgo de salvar la clara separación presente en el marco MVC . Por lo tanto, es responsabilidad del desarrollador asegurarse de que haya una clara separación de responsabilidad entre los módulos de modelo, vista y controlador de su aplicación. [2]

eRuby permite que el código de Ruby se incruste dentro de un par de delimitadores<% y . Estos bloques de código incrustado luego se evalúan en el lugar (se reemplazan por el resultado de su evaluación). Además de crear páginas web, eRuby también se puede utilizar para crear documentos XML , fuentes RSS y otras formas de archivos de texto estructurado. eRuby genera dinámicamente archivos estáticos basados ​​en plantillas . Estas funcionalidades de eRuby se pueden encontrar en la Biblioteca ERB.%>

<%= %> : Esto indica que la etiqueta encierra una expresión. Dicha etiqueta comienza con un delimitador de etiqueta de apertura seguido de un símbolo igual a y termina con un delimitador de etiqueta final . Durante la representación de la plantilla , este fragmento de código se sustituye por el resultado del código. Si el resultado evaluado no es una cadena, se convierte en una cadena antes de que se represente. Por ejemplo:

<% %> : El código encerrado en dichas etiquetas se denomina scriptlet . El código de dicha etiqueta se ejecuta y su resultado se reemplaza en lugar del scriptlet. Estas etiquetas deben tener una etiqueta coincidente para indicar el final de un bloque funcional. Por ejemplo: [4]<% end %>

En el ejemplo anterior, el elemento de la lista de texto se imprime cuatro veces. El scriptlet no produce texto por sí solo, solo hace que la declaración adjunta se ejecute varias veces. La salida del código anterior: