概要
Railsで生成される.html.erbファイル中のスクリプト部分のコメントアウトについて。
たとえば以下のコードをコメントアウトする場合。
1 |
<%= 1 + 2 %> |
<!– —>は使えない
HTMLのコメントアウトでは実行を抑止できない。
1 2 3 4 5 6 7 8 9 10 11 12 13 |
<!--<%= 1 + 2 %>--> HTMLソース <!--3--> <!-- <%= 1 + 2 %> --> HTMLソース <!-- 3 --> |
#~1行コメント
Rubyの#
で1行をコメントアウトできる。HTMLソース中には表示されない。
スクリプトタグの中でコメントアウトする場合、既存の<%
の後ろに#
を追加。
1 |
<%#= 1 + 2 %> |
スクリプトタグの外でコメントアウトする場合、先頭に<%#
を追加。この場合は最初に%>
が現れるまでの内容がコメントになるので、末尾に%>
を追加しなくてもよい。コメントアウトを戻すときも先頭の<%#
だけを削除。
1 |
<%# <%= 1 + 2 %> |
=begin…=end~複数行コメント
Rubyの=begin...=end
による複数行コメントを使う。=begin
、=end
とも行頭になければならない。
ファイルの末尾でエラーが出ることがあり、見栄え・打ち込みやすさの点からあまりよろしくない。
1 2 3 4 5 |
<% =begin %> <%= 1 + 2 %> <% =end %> |
<% if false %>…<% end %>
falseで実行されないifクローズで該当する部分を囲む方法。
直感的にコメントだと認識し難いのが難点。
空のメソッドで囲む方法
共通で参照可能な場所に以下のような関数を定義する。
1 2 |
def comment end |
そしてコメントアウトしたい部分を関数で囲む。
1 2 3 |
<% comment do %> コメントアウトするブロック <% end %> |