2010-08-06 138 views
10

我有一些瑣碎的標記,看起來像以下:如何評論erb模板?

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

有評論說,從一個平凡的方式嗎?圍繞該塊僅包裝<!-- -->仍然會使模板可用的Ruby代碼。這意味着我必須分別註釋掉HTML和Ruby特定的代碼。

用最少的標記註釋掉所有三行的最好方法是什麼?

回答

11

=end是塊註釋的Ruby版本。

在ERB模板使用它們:

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

這不工作,這是我找到的最好方式,但並不意味着什麼語義除了「評論了這一點?」如果是的話,我希望有一個更加認可的方式。 – 2010-08-06 18:40:50

+3

'= begin'和'= end'是塊註釋的Ruby版本。或者,你也可以做'<< - ASDF'和'ASDF'(與任何你想要的關鍵字替換ASDF)。這是heredoc評論格式。 – Karl 2010-08-06 22:26:25

0

編輯,因爲我注意到你的問題的真實意圖:

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

在我所使用的每個語法高亮(主要的TextMate)這需要在行的一開始,你不能縮進它出現評論。我不知道這是否是一個規則或突出顯示的糟糕實施。

3

不起作用:

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

是否工作:

<% if false %> 
<li class="someclass"> 
    <=% t'model.attr' %> 
</li>  
<% end %> 
+0

在Python即將在的/ etc這個語法是易於使用,並且會更容易閱讀的非Ruby的人。任何一天我都會贏得我的書。 – 2014-04-06 21:01:02

9

可以使用#評論ERB塊:

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

或使用Rails content_tag方法避免字面HTML :

<%#= content_tag :li, t'model.attr', :class=>:someclass %>