Railsビューのいくつかの行で、これが使用されていることに気付きました:
<% # Code... -%>
それ以外の:
<% # Code... %>
違いはなんですか?
Railsビューのいくつかの行で、これが使用されていることに気付きました:
<% # Code... -%>
それ以外の:
<% # Code... %>
違いはなんですか?
<ul>
<% @posts.each do |post| -%>
<li><%=post.title%></li>
<% end -%>
</ul>
<ul>
最初の<li>
and と最後の閉じの</li>
andの間に新しい行はありません</ul>
。- を省略した場合は、あります。
ERB でコードを評価するためのさまざまなオプションは次のとおりです (Ctrl-Shift-. を使用して Textmate でアクセスできます)。
<% %>
内容だけ評価します。<%= %>
内容を評価し、結果を出します。<%= -%>
内容を評価し、結果を出力します。<%# %>
内容はコメントとして扱われ、出力されません。と の違いに注意してputs
くださいprint
。Puts は常に文字列の最後に新しい行を追加しますが、print は追加しません。
基本的に、-%>
言うことは最後に新しい行を出力しません。
このことを考慮
<div>
<% if @some_var == some_value %>
<p>Some message</p>
<% end %>
</div>
@some_var が some_value の場合、上記のコードは以下の HTML になります。
<div>
<p>Some message</p>
</div>
終了タグに - を入れた場合、ERB インタープリターは - を含むコード タグを持つ行の新しい行を削除し、次のようになります。
<div>
<p>Some message</p>
</div>
これは、見栄えの良い HTML コードが必要な場合に便利です。デザイナーと一緒に作業するときに役立つ場合があります
お役に立てれば。
少し遅れましたが、これもできることを指摘する価値があると思います:
<%- @posts.each do |post| -%>
<li><%= post.title %></li>
<%- end %>
これにより、前の空白が取り除かれます。