Blogaomu

WEBアプリケーション開発とその周辺のメモをゆるふわに書いていきます。

RailsのviewでHTML特殊文字を表示する

以下のように、link_toでbody(タグに囲まれる部分)にHTML特殊文字を設定すると、&の部分がエスケープされて意図した出力になりません。

<%= link_to '×', diary_comment_path(@diary, comment), :method => :delete %>
# => <a href="/diary/:id/comment/:id" data-method="delete">×</a>

じゃあどうすればいいんだろう、ということでapiリファレンスを見たり検索で引っかかったブログを見ていたところ、html_safeを使えばよさそうということが分かりました。

<%= link_to '×'.html_safe, diary_comment_path(@diary, comment), :method => :delete %>
# => <a href="/diary/:id/comment/:id" data-method="delete">×</a>

参考:
SafeBuffers and Rails 3.0 « Katz Got Your Tongue?