问题
I have some trivial markup that looks like the following:
<li class="someclass">
<=% t'model.attr' %>
</li>
Is there a trivial way to comment that out? Just wrapping <!-- -->
around the block will still leave the ruby code available to the template. This means I have to comment out the HTML and Ruby specific code separately.
What's the best way to comment out all three lines with the least amount of markup?
回答1:
=begin
and =end
are the Ruby version of block comments.
Using them in an erb template:
<%
=begin
%>
<li class="someclass">
<=% t'model.attr' %>
</li>
<%
=end
%>
回答2:
You can comment ERB blocks using #
:
<!-- <li class="someclass"> -->
<%#= t'model.attr' %>
<!-- </li> -->
or avoid the literal HTML using Rails content_tag
method:
<%#= content_tag :li, t'model.attr', :class=>:someclass %>
回答3:
Doesn't work:
<%# <li class="someclass">
<=% t'model.attr' %>
</li> %>
Does work:
<% if false %>
<li class="someclass">
<=% t'model.attr' %>
</li>
<% end %>
回答4:
Edited because I noticed the true intention of your question:
<%
=begin
%>
<li class="someclass">
<%= t'model.attr' %>
</li>
<%
=end
%>
In every syntax highlighter that I've used (mainly textmate), this needs to be at the very beginning of the line, you can't indent it for it to appear commented. I don't know if that's a rule or a poor implementation of the highlighting.
来源:https://stackoverflow.com/questions/3426671/how-does-one-comment-in-an-erb-template