テキストボックスから入力された値をHTMLの改行に変換して表示する

前回のRails 3の話同様、Safe Buffer導入に対応するようにRails 2で使ってたHelperを書き換えてみました。
app/helpers/application_helper.rbに

module ApplicationHelper
  def br(str)
    h(str).gsub(/(\r\n?)|(\n)/, '<br />').html_safe 
  end
  
  def rbr(str)
    str.gsub(/(\r\n?)|(\n)/, '<br />').html_safe
  end
end

と書いています。

<%=br @something.text %>

とすることで元テキストのタグをエスケープして改行に変換、

<%=rbr @something.text %>

とすることで元テキストのタグをそのままHTMLタグとして反映。
最後に.html_safeとすることで自動エスケープを避けているのですが、brのほうでは手動で先にテキストだけエスケープしておくことで改行コード以外をエスケープしています。