0

私のコントローラーでは、ユーザーにコピーしてもらいたいHTMLを出力していますが、そのHTMLが実際にページにレンダリングするものをレンダリングしないようにしています。

私のshowアクションのコードは次のとおりです。

@url = <iframe src=#{url} scrolling=\"no\" frameborder=\"0\" style=\"border:none; overflow:hidden;width:800px; height:21px;\" allowtransparency=\"true\" ></iframe>

ビューが HTML を適切に表示し、ユーザーが全体をコピーして貼り付けるだけでよいようにするには、どうすればよいでしょうか?

4

2 に答える 2

1

HTML をエスケープする必要があります。これを行うには、html_escape()またはエイリアス化されたメソッドh()を使用できます。あなたの見解では、現在次のようなものがあります:

<%= @url %>

への変更:

<%=h @url %>

詳細情報: http://api.rubyonrails.org/classes/ERB/Util.html#method-c-html_escape

于 2013-08-14T23:36:49.533 に答える
0

あなたの見解でこれを試してください:

<%=raw(@url)%>

いくつかの有用な情報がここにあります:

http://www.tigraine.at/2012/08/23/when-to-use-raw-and-when-to-use-html_safe

于 2013-08-14T23:34:16.490 に答える