La mejor manera de agregar comentarios en erb

253

¿Cómo agregamos comentarios en archivos erb, si no queremos que se generen en el contenido html?

Kalyan Maddu
fuente

Respuestas:

353

Use la <%# %>secuencia, p. Ej.

<%# This is a great comment! %>
John Douthat
fuente
Solía ​​usar este formato hasta que noté que acababa de generar un error en la computadora de alguien en mi equipo (los dos estábamos usando Linux, pero diferentes distribuciones), independientemente de que lo evite desde ...
visite
44
Es una de las pocas etiquetas ERB compatibles. ruby-doc.org/stdlib/libdoc/erb/rdoc/classes/ERB.html Si no funcionaba en su PC, tenían un error tipográfico o no usaban ERB real. Sin embargo, me he encontrado con problemas con código como este <% for foo in bar # loop over bar%> .. Esto estaba bien en el ERB que se envió con 1.8.6, pero cuando cambié a 1.8.7, causó muchos problemas
John Douthat
17
es decir, no puede haber ningún espacio entre <%y#
John Douthat
¿Cómo puedo obtener textmate para generar este estilo de comentarios con apple- /
Michael
2
@Mike Ctrl + Shift + Period (es decir, Ctrl + GreaterThan) 4 veces rápidamente debería hacerlo.
John Douthat
47

Para el registro

<%# This is a great comment! %>

<%#= This is a great comment! %>
Salil
fuente
44
El <%=-> <%#=ejemplo es útil. No requiere un caso especial y no está documentado . ¡Funciona y es el más fácil, sin embargo! (Mejor que tener que adivinar si había una =cuando se descomentando.)
Benjamin Atkin
1
¿Cuál es la diferencia entre los dos?
Travis Reeder
3
@TravisR: El primero es solo un comentario, el segundo también es solo un comentario, pero probablemente surge cuando intentas deshabilitar un <%= ... %>al convertirlo en un comentario.
mu es demasiado corto el
28

Para comentarios de bloque:

<% if false %>
    code to be commented out...
<% end %> 
Tim
fuente
2
Para los bloques, simplemente puede agregar saltos de línea dentro de la <%# %>etiqueta.
RobW
1
Probablemente todavía daría errores por código roto en el comentario
Qwertie
6

Tengo una configuración de Windows, y esta secuencia <% - #%> es la única que funciona para mí:

Ejemplo:

<%-# This is a sample comment! %>
Edward Castaño
fuente
2

Dado que .erb es, por definición, "ruby incrustado", puede incrustar cada código ruby ​​entre: <%= y el otro:, %>generalmente todos escritos en una línea. Además, los comentarios de una línea de ruby ​​comienzan siempre con #, por lo que el <%=# Comment %>estilo combina perfectamente con los estilos de ruby ​​puro y erb para los comentarios de una línea.

Maaaaaaarco
fuente
Esto no funciona <html> <body> <form method="POST" action="www.some-url.com"> <input id="data" name="data" value="<%=# "String" %>"> <input type="submit" value="Send"> </form> </body> </html>arroja un error
Epigene
@Epigene La causa probable del error son las comillas internas. No estoy seguro de por qué querría hacer esto, pero para deshacerse del error, intente:value="<%=# 'String' %>"
jdigital
1

No trabajo en los archivos de Controllers, tuve que ponerlo entre barras

/ comenta aquí .... /

Arezki
fuente
1

En mi editor de texto, ejecuto command + /(atajo de texto sublime). Será así

<%
=begin%>
    Here is the comment 
<%
=end%>

No se ve simplemente, pero funciona.

Miftah Mizwar
fuente