2012-06-13 17 views
5

Si escribo algo como:¿Por qué el uso de ambos <% y <% = en las vistas?

<% if signed_in?.blank? %> o <%= link_to "Sign Up", sign_up_path %>

¿Cuál es la diferencia entre las dos señales de <% y <%=?

¿Por qué hacerlo de esta manera en lugar de usar solo uno para simplificar?

¿Cuándo sé que necesito usar <% sobre <%=?

+2

Si no es demasiado tarde, elija HAML: http://haml.info/docs/yardoc/file.HAML_REFERENCE.html o Slim: http://slim-lang.com/docs.html. Ambos tienen gemas 'xxx-rails' para reemplazar ERb en ​​generadores. – jdoe

+2

Algunas personas realmente prefieren ERb. Si bien vale la pena echarle un vistazo a HAML y Slim, no son objetivamente mejores. – MrTheWalrus

Respuesta

1

<% %> Simplemente ejecuta la sentencia (s) dentro de ese bloque, mientras que <%= %> es la salida del resultado de la instrucción.

Por ejemplo, con el <% if signed_in?.blank? %>, el intérprete de ruby ​​simplemente ejecuta ese código y comprueba si signed_in está en blanco.

La declaración <%= link_to %> realmente generará HTML.

Cuestiones relacionadas