ビューに渡すインスタンス変数があります@body
。
@body
html を含む文字列です。
<%= @body %>
html ではなく、文字列をレンダリングします。文字列でhtmlをレンダリングするにはどうすればよいですか?
可能?
前もって感謝します!
ビューに渡すインスタンス変数があります@body
。
@body
html を含む文字列です。
<%= @body %>
html ではなく、文字列をレンダリングします。文字列でhtmlをレンダリングするにはどうすればよいですか?
可能?
前もって感謝します!
答えはもう真実ではありません。Rails 3は自動的にhtmlをエスケープするので、コントローラーを使用している場合は次のようになります。
@error = "<h1>OMG u broke teh intertubez!!111</h1>"
これにより、エスケープせずにHTMLが出力されます。
<%= raw @error %>
そして、これは両方ともHTMLをエスケープします:
<%= h @error %>
<%= @error %>
<%= @body %>
にいくつかのhtmlがある場合、いくつかのhtmlを出力し@body
ます。コントローラーは HTML を渡すことは想定されていないため、その変数に html を含めるのは少し奇妙です (コントローラーはビューに依存しない必要があります)。
これが、いくつかのヘルパー メソッドがある理由です。HTML を生成するヘルパー メソッドを作成し、それをビューで使用します。