2012-07-23 12 views
7

Sé que hay una opción para usar la función content_tag en ruby-on-rails, que ayuda a generar una etiqueta html. Algunos desarrolladores de rails en una empresa con la que trabajo me dijeron que esta es la forma "conveniente y adecuada" y que no debería escribir un html "nativo" para generar un div, por ejemplo ... ¿Es verdad? ¿Es una especie de estándar de rieles? ¿Tiene algo que ver con problemas de rendimiento o velocidad de renderizado?¿por qué debería usar content_tag en lugar de html "normal"?

que adjuntar los códigos de mi código anterior:

<div class="alert alert-<%= key %>"><%= value %></div> 

y la función de los carriles de uso

<%= content_tag(:div, value, class: "alert alert-#{key}") %> 

Las primeras miradas a mí bonitas, comprensibles e intuitivos - más que el segundo código .. ¿Qué piensas de eso?

Respuesta

8

Ser capaz de usar el content_tag ayuda cuando está generando HTML de forma programática dentro del código ruby, por ejemplo, ayudantes y presentadores.

En mi opinión, normalmente no usaría content_tags en los diseños y las plantillas de un proyecto; no creo que ayude a la legibilidad de los códigos. No veo ninguna ganancia para la productividad o el rendimiento aquí.

SIN EMBARGO: consejo: si eso es lo que su equipo ha estandarizado - vaya con el equipo.

+0

Gracias por aclarar las cosas .., sé que debo ir con mi equipo (temporal) cuando se trata de estándares. Solo quería saber si las explicaciones que obtuve sobre este ayudante son reales o solo es una cuestión de estándares y hábitos ... – benams

1

Es un método de ayuda para intentar simplificar la generación de HTML para usted. Usted pasa lo que quiere usar y escupe el HTML para eso. Básicamente lo construye para ti, aunque nunca los uso, prefiero escribir el mío porque lleva el mismo tiempo que escribir el método de ayuda llamada :) @Jesse Good Call, si esto es lo que usa tu equipo, pega con la convención

1

Además de los estándares de Project and Rails, la seguridad es una razón más por la que uno debe usar content_tag.

Dos razón rápida por qué me siento content_tag es mejor

  1. Ver archivo de rieles está en la página Embedded Rubí (significado) HTML generado a partir de Ruby.Hence, como método de ayuda content_tag sirve para el propósito de ayudarle a generar HTML a partir de ERB.

  2. Cuando está codificado directamente con HTML (estilo nativo), es propenso al ataque Cross Site Scripting (XSS).

Cuestiones relacionadas