Как сделать один комментарий в шаблоне erb? - PullRequest
10 голосов
/ 06 августа 2010

У меня есть тривиальная разметка, которая выглядит следующим образом:

<li class="someclass">
  <=% t'model.attr' %>
</li>

Есть ли тривиальный способ это прокомментировать? Если просто обернуть <!-- --> вокруг блока, код рубина останется доступным для шаблона. Это означает, что я должен закомментировать отдельный код для HTML и Ruby.

Как лучше всего закомментировать все три строки с наименьшим количеством разметки?

Ответы [ 4 ]

11 голосов
/ 06 августа 2010

=begin и =end - версия блочных комментариев для Ruby.

Использование их в шаблоне erb:

<%
=begin
%>
<li class="someclass">
  <=% t'model.attr' %>
</li>
<%
=end
%>
9 голосов
/ 07 августа 2010

Вы можете комментировать блоки ERB используя #:

<!-- <li class="someclass"> -->
  <%#= t'model.attr' %>
<!-- </li> -->

или избегайте буквального HTML, используя метод Rails content_tag:

<%#= content_tag :li, t'model.attr', :class=>:someclass %>
3 голосов
/ 06 августа 2010

Не работает:

<%# <li class="someclass">
  <=% t'model.attr' %>
</li> %>

Работает:

<% if false %>
<li class="someclass">
  <=% t'model.attr' %>
</li>    
<% end %>
0 голосов
/ 06 августа 2010

Отредактировано, потому что я заметил истинное намерение вашего вопроса:

<%
=begin
%>
<li class="someclass">
  <%= t'model.attr' %>
</li>
<%
=end
%>

В каждой подсветке синтаксиса, которую я использовал (в основном, textmate), это должно быть в самом начале строки, вы не можете сделать отступ, чтобы он отображался как комментарий. Я не знаю, является ли это правилом или плохой реализацией выделения.

...