raw
、h
、またはを使用してストレート HTML にデコードできる、二重にエンコードされた HTML として出力される XML ファイルからデータを取得していますString.html_safe
。これらのメソッドを 2 倍にしても、それ以上デコードされないように見えるため、文字列をビューに出力すると、エンコードされた HTML としてレンダリングされます。
たとえば、次の文字列を取得できます。
@paragraph = <p>This is a Paragraph.</p>
印刷すると、ブラウザに表示されます<%= @paragraph %>
。レンダリングを<p>This is a Paragraph.</p>
印刷します。<%= raw @paragraph %>
<p>This is a Paragraph.</p>
ここまでは予想通り。しかし、もう一度デコードしようとすると<%= raw (raw @paragraph) %>
、<p>This is a Paragraph.</p>
. raw
または他の 2 つのメソッドのいずれかを何度呼び出しても、エンコードされた HTML を取得し続けます。
もちろん、私が探しているのは次のとおりです。
これは段落です。