Como você comenta o html misturado com o código ruby?
some text <% ... %> more text <%= ... %>
something else
<% ... %>
No jsp é bem simples:, <%-- ... --%>
mas não consigo encontrar nenhuma opção concisa nos trilhos.
Comentários simples em html <!-- ... -->
não funcionam: o código ruby ainda é executado e grita erros.
Há uma opção para usar if false
com comentários html, mas é bem detalhado, sem mencionar que os IDEs não suportam isso.
Há também uma opção vinda do rubi puro, que surpreendentemente funciona.
<%
=begin %>
... html and ruby code goes here
<%
=end %>
Geralmente é bom, exceto que é detalhado, de aparência estranha e nenhum dos IDEs em rubi que eu conheço (sim, eu gosto de comentar / comentar com um toque de tecla).
Estou curioso, existe algum 'oficial' de fazer isso nos trilhos?
Obrigado!
fonte
<%= false %>
que não funcionaria. Você deve tentar a solução fornecida, que funcionaria<% if false %>
sem o sinal =<%# if false %>
.Use isso para comentar linhas simples:
Para várias linhas, o
O que você disse funcionaria.
fonte
A
=begin
abordagem é irritante porque:A
<% if false %>
abordagem funciona, mas parece estranha e não dá a ninguém que olha para o seu código uma dica sobre suas intenções.Minha solução é a seguinte:
Em
application_helper.rb
, adicione um método para:Em seguida, no seu modelo de visualização, você pode dizer:
Isso funciona porque qualquer método Ruby pode aceitar um bloco, mas ignorará silenciosamente o bloco passado se o seu método não incluir a
yield
.fonte
ignore
oudisable
e nós temos uma solução totalmente semântica:<% ignore do %>…<% end %>
fonte
Para comentários em bloco nos modelos, meu editor de texto (Komodo) considera esta variação na recomendação de @ Garfield menos desagradável:
fonte
Para comentar as tags erb, use o símbolo de hash do comentário ruby antes do sinal = na tag de abertura
fonte
Como você pode usar
<% %>
para colocar um bloco de rubi, ele certamente pode ser usado para colocar comentários nele.Uma solução mais simples e elegante seria semelhante a ...
fonte
Depois de = begin, você não precisa colocar%>
fonte
Apenas um adendo para algumas das respostas anteriores. Eu achei a solução = begin / = end mais útil, mas por uma questão de beleza, eu a escrevo assim:
Note-se que uma vez que tudo é ignorado até que o
=end
não há nenhuma necessidade de fechar a=begin
tag com%>
ou abrir o=end
tag com<%
(que também tem sido apontado numa resposta anterior)Eu achei que essa era a solução mais elegante para complementar completamente um bloco de código misto de ruby e html e tê-lo acinzentado também no meu editor, em oposição à
<% if false %>
solução. A única desvantagem é essa=begin
e=end
deve ser colocada no início da linha.fonte
Use um comentário chamado HEREDOC
Prós:
Contras:
Código:
A tag de abertura pode ser
ou
Qualquer coisa aqui não será exibida ou exibida no navegador
A tag de fechamento
sim, ele precisa ter 3 linhas 😟. Não sei por que a tag erb de abertura é importante, mas é! (a menos que você não tenha usado tags erb no comentário).
fonte
Você deve ter em mente onde o código é executado. Comentários no estilo Ruby funcionam porque o código Ruby é executado no servidor antes de ser veiculado no navegador da web. Isso também explica por que os comentários HTML não funcionam - o Ruby já foi executado.
O IDE que você está usando não oferece suporte à criação de macros personalizadas para comentar blocos de código?
fonte
O atalho de comentário em bloco do Sublime Text ctrl+shift+/percebe se você selecionou HTML normal ou uma tag Erb e coloca o
<!---
ou de<% =begin %>
acordo.fonte
ctrl+d
para selecionar várias vezes o início de cada tag Erb<%
dentro do bloco e pressionar ectrl+shift+/
, em seguida, pressionar novamente para que todo o bloco comente o HTML.Você pode usar os comentários <% if false%> e HTML ao mesmo tempo:
Os benefícios são:
Código Ruby não é executado
O bloco comentado tem cor cinza no IDE
A intenção é óbvia para outros desenvolvedores
fonte
Este é o único que funcionou para mim.
fonte
Espero ter acabado de explodir sua mente!
fonte
A única solução aceitável que eu já encontrei para esse problema de última hora foi colocar um espaço dentro do "<% =" para deixar de ser registrado como código ruby e, em seguida, comentar o bloco inteiro com comentários html
Como isso:
Sim, adicionar espaços é irritante. Mas é a menos chata de todas as soluções que eu já vi.
fonte
#
... em vez de enviar ruby no documento.