Лучший способ добавить комментарии в erb

216

Как добавить комментарии в erb файлы, если мы не хотим, чтобы они создавались в html-содержимом?

Теги:
erb

6 ответов

336
Лучший ответ

Используйте последовательность <%# %>, например

<%# This is a great comment! %>
  • 0
    Я использовал этот формат до тех пор, пока не заметил, что он просто вызвал ошибку на чьем-то компьютере в моей команде (мы оба использовали linux, но разные дистрибутивы), несмотря на то, что я избегаю этого с тех пор ..
  • 3
    Это один из немногих поддерживаемых тегов ERB. ruby-doc.org/stdlib/libdoc/erb/rdoc/classes/ERB.html Если это не сработало на их ПК, у них либо была опечатка, либо они не использовали настоящий ERB. Тем не менее, я столкнулся с проблемами с кодом, подобным этому <% для foo в bar # loop over bar%> .. Это было нормально в ERB, поставляемом с 1.8.6, но когда я переключился на 1.8.7, это вызвало много проблем.
Показать ещё 9 комментариев
43

Для записи

<%# This is a great comment! %>

<%#= This is a great comment! %>
  • 4
    Пример <%= -> <%#= полезен. Это не требует особого случая и не задокументировано . Это работает и является самым простым, хотя! (Бьет необходимость угадывать, был ли символ = при комментировании.)
  • 1
    Какая разница между этими двумя?
Показать ещё 1 комментарий
27

Для комментариев блока:

<% if false %>
    code to be commented out...
<% end %> 
  • 1
    Для блоков вы можете просто добавить разрывы строк внутри <%# %> .
  • 1
    Вероятно, все еще даст ошибки для неработающего кода в комментарии
6

У меня есть установка Windows, и эта последовательность <% - #% > является единственной, которая работает для меня:

Пример:

<%-# This is a sample comment! %>
2

Так как .erb по определению "embedded ruby", вы можете вставлять каждый код ruby ​​между: <%=, а другой: %>, как правило, все написано в одной строке. Кроме того, рубиновые однострочные комментарии начинаются всегда с #, поэтому стиль <%=# Comment %> отлично сочетается с стилями pure-ruby и erb для однострочных комментариев.

  • 0
    Это не работает <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> выдает ошибку
  • 0
    @Epigene Вероятной причиной ошибки являются внутренние кавычки. Не уверен, почему вы хотите это сделать, но чтобы избавиться от ошибки, попробуйте: value="<%=# 'String' %>"
Показать ещё 1 комментарий
1

Я не работаю в файлах контроллеров, я должен был поместить его между слешами

/комментарий здесь.... /

Ещё вопросы

Сообщество Overcoder
Наверх
Меню