0

rawh、またはを使用してストレート HTML にデコードできる、二重にエンコードされた HTML として出力される XML ファイルからデータを取得していますString.html_safe。これらのメソッドを 2 倍にしても、それ以上デコードされないように見えるため、文字列をビューに出力すると、エンコードされた HTML としてレンダリングされます。

たとえば、次の文字列を取得できます。

@paragraph = <p>This is a Paragraph.</p>

印刷すると、ブラウザに表示されます<%= @paragraph %>。レンダリングを&lt;p&gt;This is a Paragraph.&lt;/p&gt;印刷します。<%= raw @paragraph %><p>This is a Paragraph.</p>

ここまでは予想通り。しかし、もう一度デコードしようとすると<%= raw (raw @paragraph) %><p>This is a Paragraph.</p>. rawまたは他の 2 つのメソッドのいずれかを何度呼び出しても、エンコードされた HTML を取得し続けます。

もちろん、私が探しているのは次のとおりです。

これは段落です。

4

1 に答える 1