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 を取得し続けます。
もちろん、私が探しているのは次のとおりです。
これは段落です。