(私がここで調査した限り、これは重複した質問ではありません。スペースのトリミング (多くの場合改行の末尾) は<%-or-%>では議論されていますが、 では議論されていません<%=。Erubi テンプレート エンジンのマイナーな欠陥である可能性もあります。 Rails で ERB テンプレートに使用されています。)
ビューでコードをレンダリング/シンタックス ハイライトしたいのですが、ERB ビュー テンプレートには以下が含まれています。
<p>
<strong>Code:</strong>
<pre class="highlight github">
<%= highlight(@code.code, @code.language) %>
</pre>
</p>
その結果、HTML 出力は次のようになります。
<p>
<strong>Code:</strong>
<pre class="highlight github">
<span class="kt">[and here's the code, but indented too much]</span>
</pre>
</p>
タグがpre原因で、最初のコード行の前のスペースが HTML に含まれてレンダリングされるため、最初のコード行が 4 つのスペースでインデントされすぎています。
明らかに、ERB ビュー テンプレートを次のように作成することもできます。
<p>
<strong>Code:</strong>
<pre class="highlight github">
<%= highlight(@code.code, @code.language) %>
</pre>
</p>
しかし、私のテンプレート ビューでは見苦しく見えます (インデントがオフになっているため)。
<%=質問:先頭のスペースも飲み込むようにするにはどうすればよいですか? 終了タグとして使用すると、末尾のスペース/改行が削除されることはわかってい-%>ますが、先頭のスペース (改行だけでなく) も削除したいと考えています。